A little merging Jiu-Jitsu
This may well be obvious to anyone bothering to read this blog, but it’s helpful enough for me that I thought I’d scribble it down, anyway.
You’ve made a minor change, just adding some validation code:
$ vv status
Modified: @/validate.c
$ vv diff
=== ================
=== Modified: File @/validate.c
--- @/validate.c 4b8c0a0278cc18fdeb8592a6b56b81ba4c4b6841
+++ @/validate.c 2011/07/11 19:41:01.000 +0000
@@ -4,4 +4,5 @@
void validate(const char *user)
{
printf("%s, you're awesome.\n", user);
+ printf("And attractive.\n");
}
You commit, then pull the latest from your team before pushing your changes up.
There are inded some changes, so you’ll need to merge:
$ vv heads
revision: 7:11e7676e2d8c96071d6ae6748afb29fbea291d3c
branch: master
who: otherguy@example.com
when: 2011/07/11 15:44:24.448 -0400
comment: more changes you don't care about
parent: 5:54675c9beeab003fce135282654cf36f9032f326
revision: 6:3926e0614eb2164bb0839eb1c6ba2c4954107dcf
branch: master
who: me@example.com
when: 2011/07/11 15:42:08.610 -0400
comment: additional validation
parent: 4:55205503daa35db9fd3699473da84f49493ef03c
$ vv merge
4 updated, 0 deleted, 3 added, 0 merged, 0 unresolved
$ vv status
Added: @/othercode.c
Added: @/othercode.h
Added: @/whatisthisidonteven.c
Modified: @/addsprint.js
Modified: @/connect.js
Modified: @/reqtest.js
Modified: @/validate.h
Hrm. A lot of code, none of it yours. The resulting diff is so long I won’t bother to fake it up for the blog. But are you sure none of it’s yours? Skimming through hundreds of lines of diff output looking for problem code is not fun. And all for your little one-liner.
So turn the merge on its head. Starting from the other side, you should easily be able to tell if your changes are being merged in a sane fashion.
# clean slate
$ vv revert --all
# start from the other guy's changes
$ vv update -r 7
# merge in yours
$ vv merge
1 updated, 0 deleted, 0 added, 0 merged, 0 unresolved
$ vv status
Modified: @/validate.c
$ vv diff
=== ================
=== Modified: File @/validate.c
--- @/validate.c 4b8c0a0278cc18fdeb8592a6b56b81ba4c4b6841
+++ @/validate.c 2011/07/11 19:46:21.000 +0000
@@ -4,4 +4,5 @@
void validate(const char *user)
{
printf("%s, you're awesome.\n", user);
+ printf("And attractive.\n");
}
# looks familiar. we're good.
$ vv commit -m"merge"