Jose Luis Hidalgo wrote:
On Wed, Feb 24, 2010 at 10:45 AM, Robert Osfield
<[email protected]> wrote:
o Would it be possible to add a Cmake script that we could run that finds
the local changed files and reports these to the user and is able to zip
these files up into a single package with the approate directory structure
still intact?
Sure it can be done, with mercurial you can even make a python script
to do it, but anyway both git and mercurial support the concept of
making a diff patch to send changes and send it by email. Ok, it's not
exactly what you are requesting, it's a collection of patches, but the
good news here is that git/hg can deal with sending those changes and
also integrate those changes. Examples:
http://mercurial.selenic.com/wiki/PatchbombExtension --> to generate
patches and mail them
http://mercurial.selenic.com/wiki/MboxExtension --> to import changes
from a mbox/thunderbird
"hg export", I think, is what you are talking about. See help page below.
I've used this in the past on business travel. It's quite nice to change
the repo on my laptop while flying on a plane (isolated from the main
repo), hg export the changeset to a USB drive, and hand it to my co
worker, who then integrates it into his repo. After the trip is over, we
both hg push back to the main repo, which intelligently takes in just
the changesets it needs.
But I want to echo Jose's comment above: hg export is just a bunch of
diffs, and merge conflicts will need to be dealt with by the person
receiving the diff -- Just as if you were merging an svn branch.
Robert, if diffs don't work for you, then hg isn't really a solution
(although you could probably arm-twist it with a Python script, as Hose
suggests).
-Paul
C:\Users\pmartz>hg help export
hg export [OPTION]... [-o OUTFILESPEC] REV...
dump the header and diffs for one or more changesets
Print the changeset header and diffs for one or more revisions.
The information shown in the changeset header is: author,
changeset hash, parent(s) and commit comment.
NOTE: export may generate unexpected diff output for merge changesets,
as it will compare the merge changeset against its first parent only.
Output may be to a file, in which case the name of the file is
given using a format string. The formatting rules are as follows:
%% literal "%" character
%H changeset hash (40 bytes of hexadecimal)
%N number of patches being generated
%R changeset revision number
%b basename of the exporting repository
%h short-form changeset hash (12 bytes of hexadecimal)
%n zero-padded sequence number, starting at 1
%r zero-padded changeset revision number
Without the -a option, export will avoid generating diffs of files
it detects as binary. With -a, export will generate a diff anyway,
probably with undesirable results.
Use the --git option to generate diffs in the git extended diff
format. Read the diffs help topic for more information.
With the --switch-parent option, the diff will be against the second
parent. It can be useful to review a merge.
options:
-o --output print output to file with formatted name
--switch-parent diff against the second parent
-a --text treat all files as text
-g --git use git extended diff format
--nodates don't include dates in diff headers
use "hg -v help export" to show global options
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org