aboutsummaryrefslogtreecommitdiffstats
path: root/ui-patch.c
Commit message (Collapse)AuthorAgeLines
* Allow for creating patch seriesGravatar Lukas Fleischer2013-08-21-5/+18
| | | | | | | | | This allows for specifying a revision range using the id2 parameter of /patch/. The output that is produced is similar to $ git format-patch --stdout id2..id Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
* ui-patch.c: Use log_tree_commit() to generate diffsGravatar Lukas Fleischer2013-08-21-23/+28
| | | | | | | | | Instead of using our own formatting, use log_tree_commit() from Git to create patches. This removes unnecessary duplicate code and also fixes a bug with e-mail address formatting that existed in our own implementation. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
* Extract filepair_cb from ui-patch.cGravatar Lukas Fleischer2013-08-17-73/+1
| | | | | | | | | | | Move filepair_cb() from ui-patch.c to ui-shared.c and rename it to filepair_cb_raw(). This callback will be used in ui-diff.c in a follow-up patch. Note that it is not straightforward to extract filepair_cb() from ui-diff.c which is why it is not done here as well. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
* Convert cgit_print_error to a variadic functionGravatar John Keeping2013-04-08-2/+2
| | | | | | | | | This removes many uses of "fmt" which uses a fixed size static pool of fixed size buffers. Instead of relying on these, we now pass around argument lists for as long as possible before using a strbuf to render content of an arbitrary size. Signed-off-by: John Keeping <john@keeping.me.uk>
* Always #include corresponding .h in .c filesGravatar John Keeping2013-04-08-0/+1
| | | | | | | | | | | | While doing this, remove declarations from header files where the corresponding definition is declared "static" in order to avoid build errors. Also re-order existing headers in ui-*.c so that the file-specific header always comes immediately after "cgit.h", helping with future consistency. Signed-off-by: John Keeping <john@keeping.me.uk>
* ui-patch: use cgit_version not CGIT_VERSIONGravatar John Keeping2013-03-21-1/+1
| | | | | | | | We already have a global cgit_version which is set from the #define'd CGIT_VERSION in cgit.c. Change ui-patch.c to use this so that we only need to rebuild cgit.o when the version changes. Signed-off-by: John Keeping <john@keeping.me.uk>
* Format git diff headers correctly when adding or removing files.Gravatar Michael Halstead2012-11-15-7/+12
| | | | | | Copying the output of cgit and using it in patches now works when adding files to or removing files from the repository. This is helpful for people who use cgit in their patch workflow.
* Add URL parameter 'ignorews' for optionally ignoring whitespace in diffsGravatar Johan Herland2010-07-18-2/+2
| | | | | | | | The new ctx.qry.ignorews variable is passed via cgit_diff_files() and cgit_diff_tree() to Git's diff machinery. This is equivalent to passing --ignore-all-space to 'git diff'. Signed-off-by: Johan Herland <johan@herland.net>
* Add URL parameter 'context' for changing the number of context lines in diffsGravatar Johan Herland2010-06-19-1/+1
| | | | | | | | The new ctx.qry.context variable is picked up by cgit_print_diff(), and passed via cgit_diff_files() to Git's diff machinery. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-patch: Apply path limit to generated patchGravatar Johan Herland2010-06-19-2/+4
| | | | | | | | Also indicate in the comment section of the patch that a path limit was applied, too easily see when a generated patch is only partial. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Introduce noplainemail option to hide email adresses from spambotsGravatar Martin Szulecki2009-08-08-1/+5
| | | | Signed-off-by: Martin Szulecki <opensuse@sukimashita.com>
* Handle binary files in diffsGravatar Lars Hjemli2009-01-31-1/+8
| | | | | | | This teaches all diff-related operations (i.e. ui-log, ui-diff and ui-patch) how to handle binary files. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-patch: whitespace changes in the patch generation codeGravatar Tomas Carnecky2008-12-30-2/+2
| | | | | | | | | | | Add a space between the committer name and email, and remove superfluous spaces in the date header. This makes cgit-generated patches match the output from git-format-patch almost exactly, at least as far as the email headers go. Signed-off-by: Tomas Carnecky <tom@dbservice.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Added `local-time` option to cgitrcGravatar Stefan Naewe2008-08-02-1/+1
| | | | | | | | | When `local-time` is set, commit, tag and patch timestamps will be printed in the servers timezone. Also, regardless of the value of `local-time`, these timestamps will now always show the timezone. Signed-off-by: Stefan Naewe <stefan.naewe@atlas-elektronik.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Merge branch 'lh/cleanup'Gravatar Lars Hjemli2008-04-09-3/+7
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lh/cleanup: (21 commits) Reset ctx.repo to NULL when the config parser is finished Move cgit_parse_query() from parsing.c to html.c as http_parse_querystring() Move function for configfile parsing into configfile.[ch] Add cache.h Remove global and obsolete cgit_cmd Makefile: copy the QUIET constructs from the Makefile in git.git Move cgit_version from shared.c to cgit.c Makefile: autobuild dependency rules Initial Makefile cleanup Move non-generic functions from shared.c to cgit.c Add ui-shared.h Add separate header-files for each page/view Refactor snapshot support Add command dispatcher Remove obsolete cacheitem parameter to ui-functions Add struct cgit_page to cgit_context Introduce html.h Improve initialization of git directory Move cgit_repo into cgit_context Add all config variables into struct cgit_context ...
| * Add ui-shared.hGravatar Lars Hjemli2008-03-25-0/+1
| | | | | | | | | | | | | | This is finally a proper headerfile for the shared ui-functions which used to reside in cgit.h Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Remove obsolete cacheitem parameter to ui-functionsGravatar Lars Hjemli2008-03-24-1/+1
| | | | | | | | | | | | This parameter hasn't been used for a very long time... Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Add struct cgit_page to cgit_contextGravatar Lars Hjemli2008-03-24-1/+3
| | | | | | | | | | | | | | | | This struct is used when generating http headers, and as such is another small step towards the goal of the whole cleanup series; to invoke each page/view function with a function pointer. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Introduce html.hGravatar Lars Hjemli2008-03-18-0/+1
| | | | | | | | | | | | | | | | All html-functions can be quite easily separated from the rest of cgit, so lets do it; the only issue was html_filemode which uses some git-defined macros so the function is moved into ui-shared.c::cgit_print_filemode(). Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Introduce struct cgit_contextGravatar Lars Hjemli2008-02-16-1/+1
| | | | | | | | | | | | | | | | | | This struct will hold all the cgit runtime information currently found in a multitude of global variables. The first cleanup removes all querystring-related variables. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Fix segfault in patch view for root commitGravatar Lars Hjemli2008-03-18-1/+5
|/ | | | | | | | | | The code for patch view assumed the current commit would always have a parent, which made cgit segfault when that wasn't the case. This fixes the bug and adds a test-script for patch view which includes a test for the inital commit. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Check for NULL-subject in patch viewGravatar Lars Hjemli2008-01-10-1/+6
| | | | | | While at it, make sure the commit message ends with a '\n'. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add plain patch viewGravatar Lars Hjemli2007-12-11-0/+105
The new view mimics the output from `git format-patch`, making it possible to cherry-pick directly from cgit with something like `curl $url | git am`. Inspired by a patch to `git-apply` by Mike Hommey: http://thread.gmane.org/gmane.comp.version-control.git/67611/focus=67610 Signed-off-by: Lars Hjemli <hjemli@gmail.com>