mirror of
https://github.com/tmux/tmux.git
synced 2024-12-25 02:48:47 +00:00
SYNCING: Update for GH
Explain the release process now that we're using GH.
This commit is contained in:
parent
75061cb45d
commit
8fcac1b794
66
SYNCING
66
SYNCING
@ -1,10 +1,10 @@
|
|||||||
Preamble
|
Preamble
|
||||||
========
|
========
|
||||||
|
|
||||||
Tmux on SourceForge has two git repositories [1] "tmux-code" and "tmux-openbsd".
|
Tmux portable relies on repositories "tmux" and "tmux-openbsd".
|
||||||
Here's a description of them:
|
Here's a description of them:
|
||||||
|
|
||||||
* "tmux-code" is the portable version, the one which contains code for other
|
* "tmux" is the portable version, the one which contains code for other
|
||||||
operating systems, and autotools, etc., which isn't found or needed in the
|
operating systems, and autotools, etc., which isn't found or needed in the
|
||||||
OpenBSD base system.
|
OpenBSD base system.
|
||||||
|
|
||||||
@ -18,7 +18,7 @@ repository will take at least that long to appear in this git repository.
|
|||||||
OpenBSD code).
|
OpenBSD code).
|
||||||
|
|
||||||
It is assumed that the person doing the sync has read/write access to the
|
It is assumed that the person doing the sync has read/write access to the
|
||||||
tmux-code repository on SourceForge already.
|
tmux repository on SourceForge already.
|
||||||
|
|
||||||
If you've never used git before, git tracks meta-data about the committer
|
If you've never used git before, git tracks meta-data about the committer
|
||||||
and the author, as part of a commit, hence:
|
and the author, as part of a commit, hence:
|
||||||
@ -37,11 +37,11 @@ this information has ever been set before.
|
|||||||
Cloning repositories
|
Cloning repositories
|
||||||
====================
|
====================
|
||||||
|
|
||||||
This involves having both tmux-code and tmux-openbsd cloned, as in:
|
This involves having both tmux and tmux-openbsd cloned, as in:
|
||||||
|
|
||||||
% cd /some/where/useful
|
% cd /some/where/useful
|
||||||
% git clone ssh://${USER}@git.code.sf.net/p/tmux/tmux
|
% git clone https://github.com/tmux/tmux.git
|
||||||
% git clone ssh://${USER}@git.code.sf.net/p/tmux/tmux-openbsd
|
% git clone https://github.com/ThomasAdam/tmux-openbsd.git
|
||||||
|
|
||||||
Note that you do not need additional checkouts to manage the sync -- an
|
Note that you do not need additional checkouts to manage the sync -- an
|
||||||
existing clone of either repositories will suffice. So if you already have
|
existing clone of either repositories will suffice. So if you already have
|
||||||
@ -50,56 +50,56 @@ these checkouts existing, skip that.
|
|||||||
Adding in git-remotes
|
Adding in git-remotes
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Because the portable "tmux-code" git repository and the "tmux-openbsd"
|
Because the portable "tmux" git repository and the "tmux-openbsd"
|
||||||
repository do not inherently share any history between each other, the
|
repository do not inherently share any history between each other, the
|
||||||
history has been faked between them. This "faking of history" is something
|
history has been faked between them. This "faking of history" is something
|
||||||
which has to be told to git for the purposes of comparing the "tmux" and
|
which has to be told to git for the purposes of comparing the "tmux" and
|
||||||
"tmux-openbsd" repositories for syncing. To do this, we must reference the
|
"tmux-openbsd" repositories for syncing. To do this, we must reference the
|
||||||
clone of the "tmux-openbsd" repository from the "tmux-code" repository, as
|
clone of the "tmux-openbsd" repository from the "tmux" repository, as
|
||||||
shown by the following command:
|
shown by the following command:
|
||||||
|
|
||||||
% cd /path/to/tmux-code
|
% cd /path/to/tmux
|
||||||
% git remote add obsd-tmux file:///path/to/tmux-openbsd
|
% git remote add obsd-tmux file:///path/to/tmux-openbsd
|
||||||
|
|
||||||
So that now, the remote "obsd-tmux" can be used to reference branches and
|
So that now, the remote "obsd-tmux" can be used to reference branches and
|
||||||
commits from the "tmux-openbsd" repository, but from the context of the
|
commits from the "tmux-openbsd" repository, but from the context of the
|
||||||
portable "tmux-code" repository, which makes sense because it's the "tmux"
|
portable "tmux" repository, which makes sense because it's the "tmux"
|
||||||
repository which will have the updates applied to them.
|
repository which will have the updates applied to them.
|
||||||
|
|
||||||
Fetching updates
|
Fetching updates
|
||||||
================
|
================
|
||||||
|
|
||||||
To ensure the latest commits from "tmux-openbsd" can be found from within
|
To ensure the latest commits from "tmux-openbsd" can be found from within
|
||||||
"tmux-code", we have to ensure the "master" branch from "tmux-openbsd" is
|
"tmux", we have to ensure the "master" branch from "tmux-openbsd" is
|
||||||
up-to-date first, and then reference that update in "tmux-code", as in:
|
up-to-date first, and then reference that update in "tmux", as in:
|
||||||
|
|
||||||
% cd /path/to/tmux-openbsd
|
% cd /path/to/tmux-openbsd
|
||||||
% git checkout master
|
% git checkout master
|
||||||
% git pull
|
% git pull
|
||||||
|
|
||||||
Then back in "tmux-code":
|
Then back in "tmux":
|
||||||
|
|
||||||
% cd /path/to/tmux-code
|
% cd /path/to/tmux
|
||||||
% git fetch obsd-tmux-code
|
% git fetch obsd-tmux
|
||||||
|
|
||||||
Creating the necessary branches
|
Creating the necessary branches
|
||||||
===============================
|
===============================
|
||||||
|
|
||||||
Now that "tmux-code" can see commits and branches from "tmux-openbsd" by way
|
Now that "tmux" can see commits and branches from "tmux-openbsd" by way
|
||||||
of the remote name "obsd-tmux", we can now create the master branch from
|
of the remote name "obsd-tmux", we can now create the master branch from
|
||||||
"tmux-openbsd" in the "tmux-code" repository:
|
"tmux-openbsd" in the "tmux" repository:
|
||||||
|
|
||||||
% git checkout -b obsd-master obsd-tmux/master
|
% git checkout -b obsd-master obsd-tmux/master
|
||||||
|
|
||||||
Adding in the fake history points
|
Adding in the fake history points
|
||||||
=================================
|
=================================
|
||||||
|
|
||||||
To tie both the "master" branch from "tmux-code" and the "obsd-master"
|
To tie both the "master" branch from "tmux" and the "obsd-master"
|
||||||
branch from "tmux-openbsd" together, the fake history points added to the
|
branch from "tmux-openbsd" together, the fake history points added to the
|
||||||
"tmux-code" repository need to be added. To do this, we must add an
|
"tmux" repository need to be added. To do this, we must add an
|
||||||
additional refspec line, as in:
|
additional refspec line, as in:
|
||||||
|
|
||||||
% cd /path/to/tmux-code
|
% cd /path/to/tmux
|
||||||
% git config --add remote.origin.fetch '+refs/replace/*:refs/replace/*'
|
% git config --add remote.origin.fetch '+refs/replace/*:refs/replace/*'
|
||||||
% git fetch origin
|
% git fetch origin
|
||||||
|
|
||||||
@ -110,7 +110,7 @@ Make sure the "master" branch is checked out:
|
|||||||
|
|
||||||
% git checkout master
|
% git checkout master
|
||||||
|
|
||||||
The following will show commits on OpenBSD not yet synched with "tmux-code":
|
The following will show commits on OpenBSD not yet synched with "tmux":
|
||||||
|
|
||||||
% git log master..obsd-master
|
% git log master..obsd-master
|
||||||
|
|
||||||
@ -162,22 +162,18 @@ Release tmux for next version
|
|||||||
|
|
||||||
% git push 1.X
|
% git push 1.X
|
||||||
|
|
||||||
4. Build the tarball with make dist. Now that it's using autoconf there
|
4. Build the tarball with 'make dist'.
|
||||||
shouldn't be any weird files (such as the original and rejection files
|
|
||||||
from patch(1)) but it doesn't hurt taking a quick look at it.
|
|
||||||
|
|
||||||
5. Split the release changes into a new file. This should be named
|
5. Check the tarball. If it's good, go here to select the tag just pushed:
|
||||||
tmux-$VERSION-readme to make sourceforge show it automagically in specific
|
|
||||||
parts of the project page.
|
|
||||||
|
|
||||||
6. Upload the tarball and the above file. Make the tarball the default
|
https://github.com/tmux/tmux/tags
|
||||||
download by selecting all operating systems under the file details.
|
|
||||||
|
|
||||||
7. Run make update-index.html upload-index.html to replace %%VERSION%%.
|
Click the "Add release notes", upload the tarball and add a link in the
|
||||||
|
description field to the CHANGES file.
|
||||||
|
|
||||||
8. Bump version in configure.ac and uncomment "found_debug=yes" to create
|
7. Clone the tmux.github.io repository, and change the RELEASE version in
|
||||||
a debug build by default.
|
the Makefile. Commit it, and run 'make' to replace %%VERSION%%. Push
|
||||||
|
the result out.
|
||||||
|
|
||||||
9. Update freshmeat.
|
8. Bump version in tmu/tmux.git configure.ac and uncomment "found_debug=yes" to
|
||||||
|
create a debug build by default.
|
||||||
[1] https://sourceforge.net/p/tmux/_list/git
|
|
||||||
|
Loading…
Reference in New Issue
Block a user