Editing Mer/Build/UsingGitorious

Warning: You are not logged in. Your IP address will be recorded in this page's edit history.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
-
{{Mer}}
 
-
 
== Packaging ==
== Packaging ==
-
Note that the detailed cut'n'paste instructions on this page assume a '''very''' up-to-date git : ~1.6.3.x;  even 1.6.0.4 is too old and [[#Older Git Versions|will need tweaks]] - though they can still be used.
 
===Initial Setup===
===Initial Setup===
Line 66: Line 63:
   mkdir gitify
   mkdir gitify
   cd gitify
   cd gitify
-
either:
 
   tar xf ../$TARBALL
   tar xf ../$TARBALL
-
or
 
-
  dpkg-source -x ../$PKG*.dsc
 
-
  rm -f *
 
-
(rm -f * removes the dpkg-source cruft)
 
-
 
-
Then
 
   mv * ../$PKG
   mv * ../$PKG
   cd ..
   cd ..
Line 205: Line 195:
Get the master branch
Get the master branch
-
  git checkout --track origin/master -b master
+
  git checkout --track origin/master
or
or
  git checkout master
  git checkout master
Line 242: Line 232:
   git clone git@gitorious.org:mer/$GPKG.git
   git clone git@gitorious.org:mer/$GPKG.git
   cd $GPKG
   cd $GPKG
-
   git checkout --track origin/upstream -b upstream
+
   git checkout --track origin/upstream
   mv .git ../git-safe
   mv .git ../git-safe
   cd ..
   cd ..
-
   rm -rf $GPKG
+
   rm -r $GPKG
replace the upstream code
replace the upstream code
Line 258: Line 248:
   mv debian ../
   mv debian ../
   git add .
   git add .
-
 
-
Sanity check to ensure no files are removed etc. If so you need to make sure to <code>git rm</code> them
 
-
  git status
 
Now we have a clean upstream release
Now we have a clean upstream release
Line 266: Line 253:
   git tag $UPVER
   git tag $UPVER
   pristine-tar commit ../$TARBALL
   pristine-tar commit ../$TARBALL
-
 
-
If there are no mer/* branches then you get to skip to [[#HIM-Merge-Branches]]
 
Now to merge it into the branches
Now to merge it into the branches
for each mer/* branch
for each mer/* branch
-
   git checkout --track origin/mer/buttonwidth -b mer/buttonwidth
+
   git checkout --track origin/mer/buttonwidth
   git merge upstream
   git merge upstream
-
   git checkout --track origin/mer/him-arabic -b mer/him-arabic
+
   git checkout --track origin/mer/him-arabic
   git merge upstream
   git merge upstream
This fails:
This fails:
Line 349: Line 334:
Carry on:
Carry on:
-
   git checkout --track origin/mer/keyboard-available -b mer/keyboard-available
+
   git checkout --track origin/mer/keyboard-available
   git merge upstream
   git merge upstream
Line 374: Line 359:
Finally:
Finally:
-
   git checkout --track origin/mer/werror -b mer/werror
+
   git checkout --track origin/mer/werror
Once again we see that the old branch simply wanted to remove -Werror so edit and
Once again we see that the old branch simply wanted to remove -Werror so edit and
   git add configure.ac
   git add configure.ac
Line 388: Line 373:
   git merge mer/werror
   git merge mer/werror
-
Once the conflicting branches are consolidated, they can be merged;
+
Once the conflicting branches are consolidated, they can be merged:
-
   git checkout --track origin/master -b master
+
   git checkout --track origin/master
   git merge local
   git merge local
-
 
-
=====HIM-Merge-Branches=====
 
-
If there were no mer/branches then you would :
 
-
  git checkout --track origin/master -b master
 
-
  git merge upstream
 
And tagged for release:
And tagged for release:
   git add ChangeLog
   git add ChangeLog
   git tag 2.1.16-1+0m5-mer1
   git tag 2.1.16-1+0m5-mer1
 +
 +
At this point you should look at ../debian if present to decide how it may impact the package branch.
And Mer can be released too:
And Mer can be released too:
   git checkout Mer
   git checkout Mer
   git merge master
   git merge master
-
 
-
At this point, if the upstream is a native package, you should look at ../debian if present to decide how it may impact the packaging branch. Otherwise ensure any modified files are added.
 
   git add debian/changelog debian/control
   git add debian/changelog debian/control
   git commit
   git commit
Line 444: Line 424:
   git clone git@gitorious.org:~lbt/mer/glib2_0-mer.git
   git clone git@gitorious.org:~lbt/mer/glib2_0-mer.git
   cd glib2_0-mer/
   cd glib2_0-mer/
-
   git checkout --track origin/upstream -b upstream
+
   git checkout --track origin/upstream
   git rm -r *
   git rm -r *
Line 495: Line 475:
    
    
Now to create a Mer glib from a master
Now to create a Mer glib from a master
-
   git checkout --track origin/master -b master
+
   git checkout --track origin/master
Upgrade entire glib
Upgrade entire glib
Line 522: Line 502:
And a new Mer release
And a new Mer release
-
   git checkout --track origin/Mer -b Mer
+
   git checkout --track origin/Mer
   git merge master
   git merge master
   editor debian/changelog
   editor debian/changelog
Line 552: Line 532:
   git remote rename origin Upstream
   git remote rename origin Upstream
-
   git branch --track  upstream Upstream/master -b master
+
   git branch --track  upstream Upstream/master
Then create a local master (it may be necessary to remove the debian/ directory)
Then create a local master (it may be necessary to remove the debian/ directory)
Line 613: Line 593:
Essentially
Essentially
   git clone git@gitorious.org:mer/$GPKG.git
   git clone git@gitorious.org:mer/$GPKG.git
-
   git checkout --track origin/Mer -b Mer
+
   git checkout --track origin/Mer
determine which feature or branch needs work. Then:
determine which feature or branch needs work. Then:
-
   git checkout --track origin/mer/<feature> -b mer/<feature>
+
   git checkout --track origin/mer/<feature>
hack...
hack...
Line 629: Line 609:
If this works OK then clean up your mer/<feature> branch... probably doing a <code>--squash</code> and push the branch to gitorious.
If this works OK then clean up your mer/<feature> branch... probably doing a <code>--squash</code> and push the branch to gitorious.
-
==Older Git Versions==
 
-
Older git versions don't guess -b correctly when using --track.
 
-
Newer git will take:
 
-
  git checkout --track origin/master
 
-
and create the obvious local branch: master. Older gits need to be explicitly told:
 
-
  git checkout --track origin/master -b master
 
-
So if you have a newer git you don't need to add the right "-b <branch>" to each of the --track options.
+
[[Category:Mer]]

Learn more about Contributing to the wiki.


Please note that all contributions to maemo.org wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see maemo.org wiki:Copyrights for details). Do not submit copyrighted work without permission!


Cancel | Editing help (opens in new window)

Templates used on this page: