On Tuesday 2008 December 30 15:49:22 Boyd Stephen Smith Jr. wrote: > On Tuesday 2008 December 30 15:27:33 you wrote: > > conorr@KINKLADZE /w/GITPLATFORM/swproj > > $ git status > > # On branch master > > nothing to commit (working directory clean) > > > > conorr@KINKLADZE /w/GITPLATFORM/swproj > > $ git checkout versionA . > > > > conorr@KINKLADZE /w/GITPLATFORM/swproj > > $ ls > > ABC.txt AC.txt > > > > conorr@KINKLADZE /w/GITPLATFORM/swproj > > $ rm *.* > > > > conorr@KINKLADZE /w/GITPLATFORM/swproj > > $ git checkout versionB . > > > > conorr@KINKLADZE /w/GITPLATFORM/swproj > > $ ls > > ABC.txt AC.txt BC.txt > > Not a bug. git checkout <commit> <paths> does not delete files by design. > Try using "git checkout versionB" instead (no paths specified), and it will > properly remove AC.txt from your working tree as well as warning you > that "You're Doing It Wrong" (tm). This may be what you want: (commands) mkdir test && cd test && git init && echo 'ABC' > ABC.txt && echo 'AC' > AC.txt && echo 'BC' > BC.txt && echo 'C' > C.txt && find -name '*C*' -print0 | xargs -r0 -- git add -- && git commit -m '"C" files.' && git branch versionC master && git checkout -b versionA master && find -type f -not -wholename '*.git*' -not -name '*A*' -print0 | \ xargs -r0 -- git rm -- && git commit -m 'Removed non-"A" files.' && git checkout -b versionB && find -type f -not -wholename '*.git*' -not -name '*B*' -print0 | \ xargs -r0 -- git rm -- && git commit -m 'Removed non-"B" files.' && git checkout -b versionD master && find -type f -not -wholename '*.git*' -not -name '*D*' -print0 | \ xargs -r0 -- git rm -- && git commit -m 'Removed non-"D" files.' && git checkout master && git branch -v --abbrev=4 && ls -l && git checkout versionA && ls -l && git checkout versionB && ls -l && git checkout versionC && ls -l && git checkout versionD && ls -l (output) /home/bss/test Initialized empty Git repository in /home/bss/test/.git/ Created initial commit 8dbf3a1: All files. 4 files changed, 4 insertions(+), 0 deletions(-) create mode 100644 ABC.txt create mode 100644 AC.txt create mode 100644 BC.txt create mode 100644 C.txt Switched to a new branch "versionA" rm 'BC.txt' rm 'C.txt' Created commit a06e10c: Removed non-"A" files. 2 files changed, 0 insertions(+), 2 deletions(-) delete mode 100644 BC.txt delete mode 100644 C.txt Switched to a new branch "versionB" rm 'AC.txt' Created commit 2029ca2: Removed non-"B" files. 1 files changed, 0 insertions(+), 1 deletions(-) delete mode 100644 AC.txt Switched to a new branch "versionD" rm 'ABC.txt' rm 'AC.txt' rm 'BC.txt' rm 'C.txt' Created commit 1793ba0: Removed non-"D" files. 4 files changed, 0 insertions(+), 4 deletions(-) delete mode 100644 ABC.txt delete mode 100644 AC.txt delete mode 100644 BC.txt delete mode 100644 C.txt Switched to branch "master" * master 8dbf "C" files. versionA a06e Removed non-"A" files. versionB 2029 Removed non-"B" files. versionC 8dbf "C" files. versionD 1793 Removed non-"D" files. total 16 -rw-r--r-- 1 bss users 4 2008-12-30 16:10 ABC.txt -rw-r--r-- 1 bss users 3 2008-12-30 16:10 AC.txt -rw-r--r-- 1 bss users 3 2008-12-30 16:10 BC.txt -rw-r--r-- 1 bss users 2 2008-12-30 16:10 C.txt Switched to branch "versionA" total 8 -rw-r--r-- 1 bss users 4 2008-12-30 16:10 ABC.txt -rw-r--r-- 1 bss users 3 2008-12-30 16:10 AC.txt Switched to branch "versionB" total 4 -rw-r--r-- 1 bss users 4 2008-12-30 16:10 ABC.txt Switched to branch "versionC" total 16 -rw-r--r-- 1 bss users 4 2008-12-30 16:10 ABC.txt -rw-r--r-- 1 bss users 3 2008-12-30 16:10 AC.txt -rw-r--r-- 1 bss users 3 2008-12-30 16:10 BC.txt -rw-r--r-- 1 bss users 2 2008-12-30 16:10 C.txt Switched to branch "versionD" total 0 -- Boyd Stephen Smith Jr. ,= ,-_-. =. bss@xxxxxxxxxxxxxxxxx ((_/)o o(\_)) ICQ: 514984 YM/AIM: DaTwinkDaddy `-'(. .)`-' http://iguanasuicide.net/ \_/
Attachment:
signature.asc
Description: This is a digitally signed message part.