View source code:
For descriptions about each branch, please see: Where to commit for more information.
First, the reference documentation for git:
You should use a recent version.
Below are basic command lines to know. If you were using GUI like TortoiseCVS, just download TortoiseGit instead ;)
- Tortoise git client: https://tortoisegit.org/
First you need your own copy of the Tiki repository which will be on branch master (aka trunk) by default.
git clone https://github.com/tikiorg/tiki.git cd tiki
- To checkout the latest branch 14.x (switches your working directory to branch 14):
git checkout 14.x
Similarly to undo your uncommitted changes to a file:
git checkout <file>
Following not finished
- To build a new 14.x Tiki (all code without SVN specific files)
svn export https://svn.code.sf.net/p/tikiwiki/code/branches/14.x DEST_DIRECTORY
- To update a checkout (caution: current version of trunk is experimental)
cd checkout_directory git pull
- To update/rollback an installation to a different revision (ahead or back)
svn update -r1234
- To update/rollback a single file to a different revision (ahead or back)
svn update -r1234 filename.php
- To update faster (in development, not production environments)
cd checkout_directory svn up --ignore-externals
- To see what will be committed
cd checkout_directory svn status svn diff
- To list the content of 14.x branch on the server:
svn ls https://svn.code.sf.net/p/tikiwiki/code/branches/14.x
- To list the content of development trunk on the server:
svn ls https://svn.code.sf.net/p/tikiwiki/code/trunk
- To commit something inside a checkout
Committing requires a SourceForge login/password. Also, a Tiki admin needs to give you Write permissions. See How to get commit access
cd checkout_directory svn commit
Please commit with an inline message:
svn commit -m "[FIX] short fix description...."
Your first commit may require your sourceforge login/password
svn commit --username yourlogin -m "[FIX] short fix description...."
- To see the log of commit messages
cd checkout_directory svn update #this is to be sure to have the last log entries svn log
or page by page
svn log |less
svn diff -r1234:1235
svn merge -r1235:1234 . svn ci
svn merge -c -1235 . svn ci
svn log -r1234
- Adding a file to the repository
cd checkout_directory svn add new_file svn commit -m "[ADD] feature: new file added in order to ....."
Please take care about the svn properties of the files that you add.
- php, inc, tpl, js, css files should have only one svn property: svn:keywords whose value is "Id" (without double-quotes). Please, see this page. You can add, in the header of these files a commented line
Once committed, this will expand and indicate the last commit on that file
- png, jpg, all image files : svn:mime-type ==> application/octet-stream. For those files, this prop is automatically added by the server when you commit
Those commands are faster if you use them on one precise directory or file
(e.g. svn log tiki-index.php ; svn diff lib/ ; ...)
Your SourceForge login/password will not be necessary until you commit something.
This means that anonymous and developer access are the same... This is very nice
Note that if you have a message like this one when trying to commit, it means that your password has expired and you need to login through SourceForge's web interface to change it. SourceForge will allow you to login and will not tell you the password is expired. Change it anyway.
svn: Commit failed (details follow): svn: MKACTIVITY of '/svnroot/tikiwiki/!svn/act/eac4ef53-cc7f-4415-ae1e-da1bac94a2ce': authorization failed (https://tikiwiki.svn.sourceforge.net)
MultiTiki and SVN together (for instance; for local development) then adding this line to your subversion config file
will help keep things tidy for you:
Mac OS: ~/.subversion/config
global-ignores = *.com *.org *.net *.local *.whatever