Mam repozytorium svn, w którym zaplanowałem trochępliki i foldery do przeniesienia w repozytorium za pomocą svn mv. Mam również pliki będące odpowiednikami plików do przeniesienia, które mają lokalne modyfikacje, których chcę tylko podzestawu tych plików, które zostaną zatwierdzone wraz z ruchami.
na przykład wyjście z svn st
wyglądałby jak:
D foo/bar
D foo/bar/a.txt
D foo/bar/b.txt
M foo/exclude.txt
M foo/include.txt
A foo/whiz/bar
A + foo/whiz/bar/c.txt
A + foo/whiz/bar/d.txt
Aby zatwierdzić przeniesienie do repozytorium, musiałbym wykonać commit foo
ale to również spowodowałoby modyfikacje foo/exclude.txt
i foo/include.txt
. W jaki sposób mógłbym popełnić tylko skreślenia / dodatki w wyniku ruchu plus modów do foo/include.txt
z wyłączeniem foo/exclude.txt
?
Mam przeczucie, że odpowiedź leży po stronie --depth
argument do svn ci
ale nie jest dla mnie jasne, jak będzie działać.
Odpowiedzi:
2 dla odpowiedzi № 1Dlaczego nie zatwierdzić poszczególnych plików, a nie drzewa?
$ svn ci foo/bar
$ svn ci foo/whiz
...
1 dla odpowiedzi nr 2
W przypadku SVN takie zachowanie zwykle nie jest pożądane. Krótka odpowiedź brzmi: nie rób tego.
Ale oczywiście są inne sposoby (z SVN):
- Rozgałęź się, a następnie połącz później (bolesne, jeśli nie znasz procesu)
- Kasować
foo/exclude.txt
na SVN za pomocąsvn delete --keep-local
też by działało, ale oznaczałoby to również, że plik stanie się niewersjonowany aż do ciebiesvn add
to znowu.
Jaki jest twój przypadek użycia? Dlaczego potrzebujesz tego zachowania?