public inbox for frysk-cvs@sourceware.org help / color / mirror / Atom feed
From: mark@sourceware.org To: frysk-cvs@sourceware.org Subject: [SCM] master: Copy Document importing on vendor branches and merging upstream sources Date: Fri, 23 Nov 2007 15:23:00 -0000 [thread overview] Message-ID: <20071123152313.27864.qmail@sourceware.org> (raw) The branch, master has been updated via dd80df1049fd343e0df5d64db48b5f2e9af48f0a (commit) from 6a376f1cd345137afebeba5972613e535a88e518 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit dd80df1049fd343e0df5d64db48b5f2e9af48f0a Author: Mark Wielaard <mwielaard@redhat.com> Date: Fri Nov 23 16:23:04 2007 +0100 Copy Document importing on vendor branches and merging upstream sources instructions from git-fu.html to index.html replacing cvs instructions. ----------------------------------------------------------------------- Summary of changes: htdocs/build/index.html | 90 ++++++++++++++++++++++------------------------- 1 files changed, 42 insertions(+), 48 deletions(-) First 500 lines of diff: diff --git a/htdocs/build/index.html b/htdocs/build/index.html index 6992ab0..f7d7778 100644 --- a/htdocs/build/index.html +++ b/htdocs/build/index.html @@ -429,60 +429,54 @@ $ cvs -d :ext:MYNAME@sourceware.org:/cvs/frysk \ </dd> <dt>How do I update a third party package in frysk-imports?</dt> -<dd>The steps are similar to the initial import above but with a few -key differences. Again <tt>elfutils</tt> is used as an example. +<dd>This assumes that there is already a vendor branch in git for +the package under <code>frysk-imports</code>. +<code>libunwind</tt> is used as an example. -<ul> - -<li>Checkout a copy of the current sources.</li> - -<li>Tag the current sources.<br>This is is so that, should things go -wrong, it is possible to quickly get back to the pre-merge version. -Use a tag like: <tt>pre-${RELEASE_TAG}-merge</tt>, for instance -<tt>pre-elfutils_0_125-merge</tt>.</li> +<p>This is an example of importing a new libunwind version from upstream +by putting it on the frysk vendor branch in git and then merging it +to trunk.</p> -<li>Force a commit to the current sources.<br>Please note that this -critical step is missing from the <tt>CVS</tt> documentation. Without -it, unmodified files will switch to the new import before you are -ready.<br>Do this using a command like: - -<pre> -$ cvs -f commit -f -R -m "Touching all ${VENDOR} files" frysk-imports/elfutils -</pre> -</li> - -<li>Obtain and unpack a pristine copy of the sources.<br>See -above.</li> - -<li>Import the pristine copy of the sources onto the vendor -branch.<br>See above. Be sure to use the same VENDOR_TAG.</li> - -<li> Note that cvs will automatically add any new files to HEAD, immediately after a cvs import remove those new files until you are ready to merge. </li> +<ul> +<li> Get the libunwind vendor branch + <code>$ git-checkout vendor/LIBUNWIND</code> +<li> Remove old stuff that needs to be replaced. + <code>$ rm -rf frysk-import/libunwind</code> +<li> Get upstream stuff and put it in + (make sure you don't accidentially copy over the upstream .git dir) + <code>$ cp -r ~/upstream/libunwind frysk-import/ +<li> Commit (use a commit messsage like "Import of libunwind version + libunwind-20071122") and push + <code>$ git-commit -a && git-push</code> +</ul> -<li>Check out a merged copy of the imported directory.<br>In a new -directory, enter something like: -<pre> -$ cvs -d ... \ - checkout -j ${OLD_RELEASE_TAG} -j ${NEW_RELEASE_TAG} \ - frysk-imports/${VENDOR} -</pre> -For instance: -<pre> -$ cvs -d ... \ - checkout -j elfutils_0_120 -j elfutils_0_125 \ - frysk-imports/elfutils -<pre> -This will apply all changes between the old and new releases to the -mainline. Fix all clashes. -</li> +<p>The vendor branch is now updated, now we merge the result to the trunk.</p> -<li>Move the updated tree into a full cvs checkout and re-merge, and -commit</li> +<ul> +<li> Switch to trunk + <code>$ git-checkout master</code> +<li> Merge new vendor branch to the trunk + <code>$ git-merge vendor/LIBUNWIND</code> +<li> Resolve the conflicts using <code>git-rm</code> for files not needed, + editing files with conflict markers and <code>git-add</code> each one + after resolving the issues. +<li> Do a full clean build and double check the test results. + [.. lots of time passes...] +<li> Double check your patches (all should now be staged in the git index) + with <code>git-diff --cached</a> +<li> Commit and push the result (git will have generated a merge message + for you already that you can use in the commit). + <code>$ got commit &&; git push</code> +</ul> -<li>Re-tag with something like <tt>post-${RELEASE_TAG}-merge</tt>, -e.g. <tt>post-elfutils_0_125-merge</tt>. +<p>If too much time has passed since the start the push will fail because +someone else will have pushed something already. Trying to do +a <code>git fetch origin; git rebase origin</code> seem to fail, so +you have to just do a <code>git pull &&; git push</code> then (which +creates an extra merge message, but that seems just fine).</p> +<p> +Comments on how to improve this process appreciated. -</ul> </dd> hooks/post-receive -- frysk system monitor/debugger
reply other threads:[~2007-11-23 15:23 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20071123152313.27864.qmail@sourceware.org \ --to=mark@sourceware.org \ --cc=frysk-cvs@sourceware.org \ --cc=frysk@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).