2011-06-23 9 views
5

W skrócie jest problem, gdy uruchomię git svn rebase, mam kilka „Tworzenie pustego katalogu: ...”Jak zapobiec git svn rebase do tworzenia pustych katalogów

z boku svn, w tu jest katalog o nazwie TOD (Trunk Only Dir) z wieloma plikami. w innej gałęzi nie ma takiego katalogu.

Kiedy sklonowałem to repozytorium svn z git svn, na master rzeczy są w porządku, ale na gałęzi, mam katalog TOD i tę samą strukturę katalogów, z wyjątkiem braku plików w nim.

Jeśli znajdę katalog TOD (bezpieczny, ponieważ git nie śledzi katalogów), i przełączam się na master i uruchamiam git svn rebase, otrzymuję komunikat "tworzenie pustych direcotry", a kiedy kupuję gałąź, TOD wraca katalog.

W sumie chodzi o to, jak zapobiec tworzeniu pustych katalogów TOD w oddziale git svn?

+1

Nie ustawia "svn-remote". .automkdirs' na false i 'svn.rmdir' na prawdziwą pomoc? –

+0

Dla każdego, kto zastanawia się, jaką wartość należy zastosować dla , można to sprawdzić, sprawdzając plik .git/config. Istnieje sekcja oznaczona [svn-remote "svn"], co oznacza, że ​​svn to nazwa twojego pilota, która jest domyślna, jeśli nie podano innej nazwy dla svn-remote. – axiopisty

Odpowiedz

5

wierzę @ ben-tebulin jest poprawna, że ​​wykonując

git config svn-remote.svn.automkdirs false 
git config svn.rmdir true 

powinien robić to dobrze. Niestety wkrótce przeniosłem się do innych projektów i nie miałem okazji go zweryfikować.

W czasie pisania tego, ja, prawie zgubiłem mój svn-fu, wykonałem test i nie mogłem odtworzyć problemu, i wygląda na to, że git-svn może teraz przełączać się między gałęziami.

+0

Jeśli sprawdzasz różnicę pliku .git/config przed i po uruchomieniu tych poleceń, uzyskasz lepszy obraz tego, co robią te polecenia. powinieneś użyć dla svn-remote. Komenda znajduje się w sekcji [svn-remote ""] pliku .git/config. Domyślna jest ustawiona na "svn", jak pokazano w tej odpowiedzi. – axiopisty

Powiązane problemy