[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Savannah-cvs] [644] Add a note on enabling VCS, improve UsingHg
From: |
ineiev |
Subject: |
[Savannah-cvs] [644] Add a note on enabling VCS, improve UsingHg |
Date: |
Sun, 6 Aug 2023 03:26:51 -0400 (EDT) |
Revision: 644
http://svn.savannah.gnu.org/viewvc/?view=rev&root=administration&revision=644
Author: ineiev
Date: 2023-08-06 03:26:50 -0400 (Sun, 06 Aug 2023)
Log Message:
-----------
Add a note on enabling VCS, improve UsingHg
Per savannah-hackers-public@ <ZMu3q0OpD8AEH6wZ@ACM> (2023-08-03)
Modified Paths:
--------------
trunk/sviki/SvN.mdwn
trunk/sviki/UsingBzr.mdwn
trunk/sviki/UsingCvs.mdwn
trunk/sviki/UsingGit.mdwn
trunk/sviki/UsingHg.mdwn
trunk/sviki/UsingVcs.mdwn
Modified: trunk/sviki/SvN.mdwn
===================================================================
--- trunk/sviki/SvN.mdwn 2023-08-06 06:36:48 UTC (rev 643)
+++ trunk/sviki/SvN.mdwn 2023-08-06 07:26:50 UTC (rev 644)
@@ -1,9 +1,10 @@
-Subversion at Savannah
-======================
+# Subversion at Savannah
-Locations
----------
+To use Subversion on Savannah, you frist need to enable it for your group.
+See [VCS Intro|UsingVcs].
+## Locations
+
- svn+ssh://YOU@svn.sv.gnu.org/GROUP - write access for group members
- svn://svn.sv.gnu.org/GROUP - anonymous access
- http://svn.sv.gnu.org/svn/GROUP - slow readonly access for people
@@ -11,14 +12,12 @@
- http://svn.sv.gnu.org/viewvc/?root=GROUP
- vcs0:/srv/svn/GROUP - actual host location, for admins
-Documentation
--------------
+## Documentation
- [The SVN book](http://svnbook.red-bean.com/).
- [[For Savannah admins: CVS to SVN conversion|CvSToSvN]].
-Commit Email
-------------
+## Commit Email
For users: please submit a support request, including the group name
and the email address to send commits to.
Modified: trunk/sviki/UsingBzr.mdwn
===================================================================
--- trunk/sviki/UsingBzr.mdwn 2023-08-06 06:36:48 UTC (rev 643)
+++ trunk/sviki/UsingBzr.mdwn 2023-08-06 07:26:50 UTC (rev 644)
@@ -10,11 +10,13 @@
<https://bugs.launchpad.net/bzr/+bug/659763>
)
-To import your code for the first time:
+## Setup at Savannah
-Initial import - multi-branch repository
-----------------------------------------
+To use Bazaar on Savannah, you frist need to enable it for your group.
+See [VCS Intro|UsingVcs].
+## Initial import - multi-branch repository
+
bzr init-repository bzr+ssh://YOU@bzr.sv.gnu.org/testyten/
cd YOUR_GROUP/
bzr init
@@ -22,8 +24,7 @@
bzr commit -m "Initial import"
bzr push bzr+ssh://YOU@bzr.sv.gnu.org/YOUR_GROUP/
-Initial import - single branch repository
------------------------------------------
+## Initial import - single branch repository
cd YOUR_GROUP/
bzr init
@@ -31,8 +32,7 @@
bzr commit -m "Initial import"
bzr push bzr+ssh://YOU@bzr.sv.gnu.org/YOUR_GROUP/YOUR_BRANCH/
-GUIs
-----
+## GUIs
There are a few graphical user interfaces for Bazaar; the standard one
is the [Bazaar Explorer](//doc.bazaar.canonical.com/explorer/en/).
Modified: trunk/sviki/UsingCvs.mdwn
===================================================================
--- trunk/sviki/UsingCvs.mdwn 2023-08-06 06:36:48 UTC (rev 643)
+++ trunk/sviki/UsingCvs.mdwn 2023-08-06 07:26:50 UTC (rev 644)
@@ -1,7 +1,7 @@
# CVS at Savannah: basics
-The https://savannah.gnu.org/cvs/?group=*group_name* (or nongnu.org)
-web page gives the basic checkout commands for a given group.
+To use CVS on Savannah, you may frist need to enable it for your group.
+See [VCS Intro|UsingVcs].
## Initial import
Modified: trunk/sviki/UsingGit.mdwn
===================================================================
--- trunk/sviki/UsingGit.mdwn 2023-08-06 06:36:48 UTC (rev 643)
+++ trunk/sviki/UsingGit.mdwn 2023-08-06 07:26:50 UTC (rev 644)
@@ -1,8 +1,10 @@
-Using GIT at Savannah
-=====================
+# Using GIT at Savannah
-URL list summary:
+To use Git on Savannah, you frist need to enable it for your group.
+See [VCS Intro|UsingVcs].
+## URL list summary:
+
* `git://git.savannah.gnu.org/mygroup.git` - unencrypted read-only git
lightweight protocol
* **`ssh://git.savannah.gnu.org/srv/git/mygroup.git`** - encrypted
@@ -42,8 +44,7 @@
back-end version control system hosting git creates repositories by
running a cron job every half hour.
-Basic commands
---------------
+## Basic commands
- Checkout (read-only):
@@ -86,8 +87,7 @@
you must be a member of at least one group in order for your account
to be enabled.
-Developer setup
----------------
+## Developer setup
(For git 1.5.1 or newer)
@@ -113,8 +113,7 @@
less and if LESS is not set will set it to `FRSX` but if `LESS` is set
will not modify it.
-Developer basic commands
-------------------------
+## Developer basic commands
- Create the initial directory and change to it:
@@ -165,8 +164,7 @@
# Send everything to Savannah
git push
-Fixing checkout from git:// to ssh://
--------------------------------------
+## Fixing checkout from git:// to ssh://
If by mistake a developer has checked out a repository using the
public anonymous read-only git:// url this can be changed to the
@@ -182,8 +180,7 @@
git fetch
git branch -u origin/master master
-Shallow checkouts
------------------
+## Shallow checkouts
When bandwidth is an issue, people can download the latest version of
your repository without downloading all the history, using "shallow
@@ -209,8 +206,7 @@
$ du -sh full-gnulib/.git
28M full-gnulib/.git
-git-cvsserver pserver compatibility
------------------------------------
+## git-cvsserver pserver compatibility
You can download a git repository using the CVS client, thanks to a
pserver-compatible server from git:
@@ -230,10 +226,9 @@
U autoconf/COPYING
...
-<a id="cvs-import"></a>
-Importing from CVS
-------------------
+## <a id="cvs-import"></a>Importing from CVS
+
First thing you may want to do is to tag the state of your CVS
repository and declare it as closed. For example:
@@ -318,8 +313,7 @@
* [[CvsDisabling]]
-Importing from SVN
-------------------
+## Importing from SVN
Git comes with 2 SVN-related tools: `git-svnimport` and `git-svn`.
`git-svnimport` is for importing revisions (a one-shot import, or
@@ -369,8 +363,7 @@
where mygroup is the subdirectory under svn_repo.
-Importing from GNU Arch
------------------------
+## Importing from GNU Arch
Use `git-archimport`.
@@ -380,10 +373,9 @@
git-archimport me@domain.tld--2007/group--main--1.0:master
group--release--1.7:v1.7
-<a id="pushing-new"></a>
-Pushing a Newly-Created, Existing, or Converted Git Repository
---------------------------------------------------------------
+## <a id="pushing-new"></a>Pushing a Newly-Created, Existing, or Converted Git
Repository
+
If you are importing a repository with tags, e.g. for past releases, use
the --tags option to send them with the initial import:
@@ -409,8 +401,7 @@
cd: 491: can't cd to /src/external-vcs/libcdio/.git/refs/remotes/origin
Warning: Remote HEAD refers to nonexistent ref, unable to checkout.
-Removing a branch
------------------
+## Removing a branch
We don't really like this, but there's a way to remove remote branches.
We don't like it because this allow group members to potentially
@@ -429,8 +420,7 @@
(the original location is offline but an archived copy may be found at
<https://web.archive.org/web/20170128205942/http://git-wt-commit.rubyforge.org/>).
-Non-Fast-Forward commits
-------------------------
+## Non-Fast-Forward commits
'non-fast-forward' commits are commits which result in
rewriting the commit history, leading to lost commits (see
@@ -464,8 +454,7 @@
currently implemented (see
<http://lists.gnu.org/archive/html/savannah-hackers-public/2015-01/msg00011.html>).
-Links
------
+## Links
- <https://git-scm.com/doc> - Latest up-to-date information on git.
- repo.or.cz: hosting system similar to Savannah. Offers a public
@@ -484,8 +473,7 @@
- <http://www.kernel.org/pub/software/scm/git/docs/user-manual.html>
A more complete user manual
-FAQ
-----
+## FAQ
* How does a group admin update the "description" file for the web
interface?
Modified: trunk/sviki/UsingHg.mdwn
===================================================================
--- trunk/sviki/UsingHg.mdwn 2023-08-06 06:36:48 UTC (rev 643)
+++ trunk/sviki/UsingHg.mdwn 2023-08-06 07:26:50 UTC (rev 644)
@@ -1,33 +1,33 @@
-Mercurial at Savannah
-=====================
+# Mercurial at Savannah
-URL summary:
+To use Mercurial on Savannah, you frist need to enable it for your group.
+See [VCS Intro|UsingVcs].
-- ssh://hg.sv.gnu.org/*group* - developer access using SSH
-- http://hg.sv.gnu.org/hgweb/*group* - lightweight http-based protocol
- (read-only access)
-- [Web viewer](//hg.savannah.gnu.org/hgweb/)
+## URL summary
-Basic commands
---------------
+- ssh://hg.sv.gnu.org/*group* - developer access using SSH
+- http://hg.sv.gnu.org/hgweb/*group* - lightweight http-based protocol
+ (read-only access)
+- [Web viewer](//hg.savannah.gnu.org/hgweb/)
-- Checkout with authentication:
+## Basic commands
- hg clone ssh://login@hg.sv.gnu.org/group
+### Checkout with authentication:
- For the SSH key fingerprints for hg.sv.gnu.org, check
- the "Mercurial Repository" link under "Development Tools"
- on the main page of your group.
+ hg clone ssh://login@hg.sv.gnu.org/group
-- Checkout with anonymous read-only access:
+For the SSH key fingerprints for hg.sv.gnu.org, check
+the "Mercurial Repository" link under "Development Tools"
+on the main page of your group.
- hg clone http://hg.sv.gnu.org/hgweb/group
- or
- hg clone https://hg.sv.gnu.org/hgweb/group
+### Checkout with anonymous read-only access:
-Developer setup
----------------
+ hg clone http://hg.sv.gnu.org/hgweb/group
+or
+ hg clone https://hg.sv.gnu.org/hgweb/group
+## Developer setup
+
Your identity for when you push commits (strongly recommended) editing
your user configuration file (\~/.hgrc):
@@ -36,68 +36,73 @@
It is also possible to edit per group identity (group/.hg/hgrc).
-Developer basic commands
-------------------------
+## Developer basic commands
-- Initial push / import:
+### Initial import
- mkdir test
- cd test
- hg init
- touch README
- # edit/add other files...
- # Import everything:
- hg add .
- hg commit -m "Initial import"
+If you are creating a new project and wish to upload a fresh repository,
+proceed as follows to create the repository on your machine:
- # initial publication to Savannah
- hg push ssh://login@hg.sv.gnu.org/group
+ mkdir test
+ cd test
+ hg init
+ touch README
+ # edit/add other files...
+ # Import everything:
+ hg add .
+ hg commit -m "Initial import"
- Note: at this point your repository is not setup to merge \_from\_
- the remote branch when you type 'hg pull'. You can either freshly
- 'clone' the repository (see "Developer checkout" below), or
- configure your current repository this way:
+Alternatively, if you are importing an existing repository,
+just `cd` to the repository's top level.
- Edit group/.hg/hgrc:
+Now fill the repository at Savannah:
- [paths]
- default = ssh://you@hg.sv.gnu.org/group
+ hg push ssh://login@hg.sv.gnu.org/group
-- Developer checkout:
+Note: at this point your repository is not setup to merge \_from\_
+the remote branch when you type 'hg pull'. You can either freshly
+'clone' the repository (see "Developer checkout" below), or
+configure your current repository this way:
- hg clone ssh://login@hg.sv.gnu.org/group
+Edit group/.hg/hgrc:
-- Commit:
+ [paths]
+ default = ssh://you@hg.sv.gnu.org/group
- cd group/
+### Developer checkout
- # <edit some_existing_file>
- hg commit -m "I automatically commit modified files"
+ hg clone ssh://login@hg.sv.gnu.org/group
- # <edit some_new_file and something_else>
- hg add some_new_file
- hg commit -m "I only marked some_new_file and other changes for commit"
+### Commit
- or
+ cd group/
- hg commit -A -m "I automatically add new files and commit any other
changes"
+ # <edit some_existing_file>
+ hg commit -m "I automatically commit modified files"
- # <only commit one modified file>
- touch some_existing_file
- hg commit -m "I only commit one file" some_existing_file
+ # <edit some_new_file and something_else>
+ hg add some_new_file
+ hg commit -m "I only marked some_new_file and other changes for commit"
- # Check your changes with the graphical tool
- hg view
+or
- # Check what's going to be pushed
- hg outgoing
+ hg commit -A -m "I automatically add new files and commit any other
changes"
- # Send everything to Savannah
- hg push
+ # <only commit one modified file>
+ touch some_existing_file
+ hg commit -m "I only commit one file" some_existing_file
-Importing from other VCS
-------------------------
+ # Check your changes with the graphical tool
+ hg view
+ # Check what's going to be pushed
+ hg outgoing
+
+ # Send everything to Savannah
+ hg push
+
+## Importing from other VCS
+
Mercurial has a [convert
extension](https://www.selenic.com/mercurial/wiki/index.cgi/ConvertExtension)
that supports multiple repository types (CVS, Subversion, GNU Arch, Git,
@@ -113,13 +118,12 @@
cd group-hg
hg push ssh://login@hg.sv.gnu.org/group
-- **CVS** conversion will also maintain CVS tags.
-- **GNU Arch** conversion does not handle multiple branches or version
- numbers, thus it only works for a given *category--branch--version*.
+- **CVS** conversion will also maintain CVS tags.
+- **GNU Arch** conversion does not handle multiple branches or version
+ numbers, thus it only works for a given *category--branch--version*.
-Links
------
+## Links
-- [Mercurial site](https://www.selenic.com/mercurial/)
-- [Mercurial book](http://hgbook.red-bean.com/hgbook.html)
-- [Tutorial](https://www.selenic.com/mercurial/wiki/index.cgi/Tutorial)
+- [Mercurial site](https://www.selenic.com/mercurial/)
+- [Mercurial book](http://hgbook.red-bean.com/hgbook.html)
+- [Tutorial](https://www.selenic.com/mercurial/wiki/index.cgi/Tutorial)
Modified: trunk/sviki/UsingVcs.mdwn
===================================================================
--- trunk/sviki/UsingVcs.mdwn 2023-08-06 06:36:48 UTC (rev 643)
+++ trunk/sviki/UsingVcs.mdwn 2023-08-06 07:26:50 UTC (rev 644)
@@ -1,10 +1,16 @@
# Version control systems: generics and basics
Groups are added to Savannah with no repositories; in order to create
-them, a VCS should be enabled on the 'Select Features' page available
-to the administrators of the group. Repositories are then created
-in a cron job, see [[update delays|SavannahUpdateDelays]].
+them, version control systems should be enabled on the 'Select Features' page
+(`https://savannah.gnu.org/project/admin/editgroupfeatures.php?group=GROUP`)
+available to the administrators of the group.
+Repositories are then created in a cron job, see
+[[update delays|SavannahUpdateDelays]].
+
+Only one repository per group is supported except Git; for Git, Savannah
+admins can create additional repositories on request of the group.
+
For basic directions on each VCS, visit the "*VCS_name* Repository" link
in "Developer tools" on the main page of the group, or "Use *VCS_name*"
in the menu bar of the group.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Savannah-cvs] [644] Add a note on enabling VCS, improve UsingHg,
ineiev <=