Using Fedora GIT

From FedoraProject

(Difference between revisions)
Jump to: navigation, search
(Clarify what local branches mean)
(gitweb links (direct link to package works, listing 10K+ packages does not))
Line 69: Line 69:
 
Some links related to dist-git:
 
Some links related to dist-git:
  
* http://pkgs.fedoraproject.org/gitweb/ broken, and listing 10K+ packages does not work anyway
+
* http://pkgs.fedoraproject.org/gitweb/ BROKEN (listing 10K+ packages does not work). Use e.g. http://pkgs.fedoraproject.org/gitweb/?p=erlang.git directly for the erlang package.
 
* [[PackageMaintainers/Git_Admin_Requests]] (was [[CVS_admin_requests]] and [[PackageMaintainers/CVSAdminProcedure]])
 
* [[PackageMaintainers/Git_Admin_Requests]] (was [[CVS_admin_requests]] and [[PackageMaintainers/CVSAdminProcedure]])
  

Revision as of 15:54, 30 July 2010

The following paragraphs are provisional content during the (doc) migration from dist-cvs to dist-git is happening.

Important.png
Git config needs
A config problem has been discovered which may make fedpkg push or fedpkg commit -p or even git push not understand your intentions. As a short term work around, you can run: git config --global --add push.default tracking

Commands

Here is a basic table of equivalent commands:

OLD CVS NEW GIT Notes
cvs checkout libfoo fedpkg clone libfoo Note that branches are not separated out by directory with this command.
To switch to a different branch with this layout, run: fedpkg switch-branch f13
cvs checkout libfoo (ALTERNATE) fedpkg clone -B libfoo This command creates the same branch/directory layout that was used with cvs.
cvs update git pull fedpkg will get a pull soon.
cvs commit . fedpkg commit -p
cvs commit -m 'breaking things' . fedpkg commit -m 'breaking things' -p
cvs commit -F clog . fedpkg commit -F clog -p Use the contents of file "clog" as the commit message.
make clog fedpkg clog Create the "clog" file from the %changelog of the specfile.
make tag N/A Explicitly tagging source states for package builds is no longer necessary.
make build fedpkg build
BUILD_FLAGS="--nowait" make build fedpkg build --nowait If you don't want to wait for the build to complete before freeing up the shell.
make prep fedpkg prep
make chain-build CHAIN='foo bar : baz' fedpkg chain-build foo bar : baz Just like before, the current directory package is always added to the end of the CHAIN list.
make scratch-build fedpkg scratch-build
make local fedpkg local
make x86_64 fedpkg local --arch x86_64
make upload FILES='apollo starbuck' fedpkg upload apollo starbuck Remember, this adds new source files without replacing others.
make new-sources FILES='red_fish blue_fish' fedpkg new-sources red_fish blue_fish This replaces any existing source files.
make help fedpkg -h
./cvs-import.sh libfoo-1.2-3.src.rpm mkdir libfoo
cd libfoo
fedpkg import libfoo-1.2-3.src.rpm
(Review Changes)
fedpkg commit -p

Branch names

Old CVS new remote git fedpkg local branch names Notes
devel origin/master master This is the default when you do fedpkg co
F-14 origin/f14/master f14
F-13 origin/f13/master f13
F-12 origin/f12/master f12
EL-6 As of July 30, not implemented
EL-5 As of July 30, not implemented
Note.png
local branch names
If you use git commands to branch and checkout directly, you can define whatever local branch names you want. If you use fedpkg switch-branch, it will default to creating the names listed in the table above. So you can do fedpkg clone firefox ; fedpkg switch-branch f14 and then you'll have a new local branch named f14

Other Links

Some links related to dist-git:

Some links related to the actual migration to dist-git:

  • [[]]

Basic changes:

  • fedpkg replaces make
  • git replaces cvs

Some links needing migration follow. Note that after migration texts might better refer to generic SCM instead of a specific name like cvs or git:

This list probably is not complete.