Difference between revisions of "Clément Démoulins"
From LRDE
(→Tests) |
|||
Line 22: | Line 22: | ||
{{#widget:Daily Motion |
{{#widget:Daily Motion |
||
− | |id= |
+ | |id=x5c4iy |
}} |
}} |
Revision as of 11:32, 31 March 2014
Extraire des sous dossiers d'un dépôt git
Exemple, on veut extraire les papiers de Vaucanson du dépôt commun lrde-publis.
# Clone du dépôt
git clone git@git:lrde-publis.git
git clone --no-hardlinks lrde-publis vcsn-publis
cd vcsn-publis
# Filtre tout sauf ce qui match la pattern : (\.fsmnlp|\.ciaa|\.poosc|\.vaucanson|\.gitignore|\.gitmodules)$
git filter-branch --prune-empty --index-filter "git rm -r --cached --ignore-unmatch $(git log -p | sed -rne 's/^diff --git a\/([^/]+)\/?.* b\/.*$/\1/ p' | sort -u | egrep -v '(\.fsmnlp|\.ciaa|\.poosc|\.vaucanson|\.gitignore|\.gitmodules)$' | xargs echo)" HEAD
# Nettoyage du dépôt
git remote rm origin
git update-ref -d refs/original/refs/heads/master
git reflog expire --expire=now --all
git repack -ad
Tests