ja po prostu nie seryjnej za pomocą czegoś takiego:SVN scalanie scalone dodatkowych rzeczy
svn merge -r 67212:67213 https://my.svn.repository/trunk .
miałem tylko 2 pliki, z których jeden jest prosty ChangeLog
. Zamiast po prostu scalić moje zmiany, w rzeczywistości pociągnęło ono moją kopalnię oraz kilka poprzednich, które nie znajdowały się w docelowym kodzie docelowym. Zauważyłem, że wystąpił konflikt, kiedy wykonałem polecenie - uruchom, więc zaktualizowałem ChangeLog
, i nadal był konflikt (i widziałem konflikt, gdy robiłem faktyczne scalenie).
I potem diffed plik byłem łączących się z:
svn diff -r 67212:67213 ChangeLog
I widzę tylko zmiany Zrobiłem, więc wiem, że dodatkowe zmiany nie dostać się tam jakoś.
To sprawia, że martwię się, że scalanie nie polega na przyjmowaniu tego, co zmieniłem, czego bym się spodziewał. Czy ktoś może wyjaśnić, co się stało?
UPDATE: W odpowiedzi na NilObject:
Tak, mam 2 pliki zmieniło, tylko zmian jest istotne, inne powstały z połączenia w porządku. Kiedy idę do mojego regularnego bagażnika kasie, mam polecenie diff powyżej patrz:
Index: ChangeLog
===================================================================
--- ChangeLog (revision 67212)
+++ ChangeLog (revision 67213)
@@ -1,3 +1,7 @@
+2008-08-06 Mike Stone <myemail>
+
+ * changed_file: Details.
+
2008-08-06 Someone Else <their_email>
* theirChanges: Details.
Po moim seryjnej poprzednich zmian, diff z ChangeLog wygląda następująco:
Index: ChangeLog
===================================================================
--- ChangeLog (revision 67215)
+++ ChangeLog (working copy)
@@ -1,3 +1,14 @@
+<<<<<<< .working
+=======
+2008-08-06 Mike Stone <myemail>
+
+ * changed_file: Details.
+
+2008-08-06 Someone Else <their_email>
+
+ * theirChanges: Details.
+
+>>>>>>> .merge-right.r67213
2008-08-05 Someone Else2 <their2_email>
* olderChange: Details.
Należy pamiętać, że Wpis, który został nieprawidłowo wciągnięty, nie znajdował się w pliku, do którego go łączę, ale nie był to jeden z moich zmian i nie powinien był zostać połączony. Łatwo to naprawić (usunąć dodatkowe linie, które nie były częścią moich zmian), ale nadal martwię się o automatyczne scalanie w SVN
.
Rozumiem, dlaczego tak właśnie jest (podczas przeprowadzania wizualnego/ręcznego scalania SVN musi dostarczyć dokument "Podstawowy" dla strony "ich", więc ostatnia wersja w kryteriach scalania jest), ale to jest naprawdę paskudne! (przynajmniej dla kogoś nowego w grze Merge i dziwiąc się cudowności wiśni i innych dobroci) – Tao