X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=pep-git.txt;h=396cd40c3cc1951a3c923ff4dda13522e2427465;hb=e1d925c680648f3bcab120371e6cf841618640da;hp=1163dfc87b3412fb837efcfeda481d55132dca76;hpb=8086171bebaa709e3c93a6254567eb67d830a336;p=git-wiki.git diff --git a/pep-git.txt b/pep-git.txt index 1163dfc..396cd40 100644 --- a/pep-git.txt +++ b/pep-git.txt @@ -14,7 +14,7 @@ Abstract This Informational PEP collects information about git. There is, of course, a lot of documentation for git, so the PEP concentrates on -more complex issues, scenarios and topics. +more complex issues, scenarios and examples. The plan is to extend the PEP in the future collecting information about equivalence of Mercurial and git scenarios to help migrating @@ -118,7 +118,7 @@ local repo has two branches ``v1`` and ``master``. For most examples the currently checked out branch is ``master``. That is, it's assumed you have done something like that:: - $ git clone http://git.python.org/python.git + $ git clone https://git.python.org/python.git $ cd python $ git branch v1 origin/v1 @@ -132,7 +132,7 @@ remotes/origin/v1 as its upstream remote-tracking branch. The same result can be achieved with commands:: - $ git clone -b v1 http://git.python.org/python.git + $ git clone -b v1 https://git.python.org/python.git $ cd python $ git checkout --track origin/master @@ -181,9 +181,9 @@ fast-forwards, merges or rebases local branches. When you do an initial clone like this:: - $ git clone -b v1 http://git.python.org/python.git + $ git clone -b v1 https://git.python.org/python.git -git clones remote repository ``http://git.python.org/python.git`` to +git clones remote repository ``https://git.python.org/python.git`` to directory ``python``, creates a remote named ``origin``, creates remote-tracking branches, creates a local branch ``v1``, configure it to track upstream remotes/origin/v1 branch and checks out ``v1`` into @@ -841,28 +841,48 @@ Perl and C). In addition to web interface both provide read-only dumb http access for git (http(s):// URLs). There are also more advanced web-based development environments that -include ability to create and manage users and groups, private, group -and public repositories, and usually include issue trackers, wiki -pages, pull requests and other developers tools. Among these -environments are `Kallithea `_ and `pagure -`_, both are written in Python; `Gogs -`_ is written in Go; when its development seemed to -be stagnated there was a fork `Gitea `_, still -active. +include ability to manage users, groups and projects; private, group +and public repositories; and often include issue trackers, wiki pages, +pull requests and other tools for development and communication. Among +these environments are `Kallithea `_ and +`pagure `_, both are written in Python; pagure was +written by Fedora developers and is being used to develop some Fedora +projects. `Gogs `_ is written in Go; there is a fork +`Gitea `_. -And last but not least `Gitlab `_. It's the -most advanced web-based development environment. Written in Ruby, -community edition is free and open source (MIT license). +And last but not least `Gitlab `_. It's +perhaps the most advanced git web-based development environment. +Written in Ruby, community edition is free and open source (MIT +license). From Mercurial to git ===================== -Mercurial for Git users https://mercurial.selenic.com/wiki/GitConcepts +There are many tools to convert Mercurial repositories to git. The +most famous are, perhaps, `hg-git `_ and +`fast-export `_ (many years ago +it was known under the name ``hg2git``). + +But a better tool, perhaps the best, is `git-remote-hg +`_. It provides transparent +bidirectional access (pull and push) to Mercurial repositories from +git. The author wrote a `comparison of alternatives +`_ +that seems to be mostly unbiased. + +To use git-remote-hg, install or clone it, add to your PATH (or copy +script ``git-remote-hg`` to a directory that's already in PATH) and +prepend ``hg::`` to Mercurial URLs. For example:: -https://github.com/felipec/git-remote-hg + $ git clone https://github.com/felipec/git-remote-hg.git + $ PATH=$PATH:"`pwd`"/git-remote-hg + $ git clone hg::https://hg.python.org/peps/ PEPs -https://hg-git.github.io/ +To work with the repository just use regular git commands including +``git fetch/pull/push``. + +Mercurial for Git users https://mercurial.selenic.com/wiki/GitConcepts References