src/branch.c


Log

Author Commit Date CI Message
Carlos Martín Nieto bf522e08 2014-01-26T16:59:36 refspec: move to git_buf for outputting strings
Carlos Martín Nieto b25d87c9 2014-01-26T16:03:37 branch: move to git_buf when outputting newly-allocated strings Internally we already did everything with git_bufs, so this is just exposing those functions with public names.
Carlos Martín Nieto 0b28217b 2014-01-15T12:51:31 refs: remove the _with_log differentiation Any well-behaved program should write a descriptive message to the reflog whenever it updates a reference. Let's make this more prominent by removing the version without the reflog parameters.
Brodie Rao 9eb45fc5 2014-01-12T23:29:44 branch: handle NULL pointers passed to git_branch_iterator_free() Signed-off-by: Brodie Rao <brodie@sf.io>
Russell Belfer 96869a4e 2013-12-03T16:45:39 Improve GIT_EUSER handling This adds giterr_user_cancel to return GIT_EUSER and clear any error message that is sitting around. As a result of using that in places, we need to be more thorough with capturing errors that happen inside a callback when used internally. To help with that, this also adds giterr_capture and giterr_restore so that when we internally use a foreach-type function that clears errors and converts them to GIT_EUSER, it is easier to restore not just the return value, but the actual error message text.
Arthur Schreiber a667ca82 2013-11-05T20:51:07 Change the git_branch_iterator_new and git_branch_next definitions to use git_branch_t.
Carlos Martín Nieto 8ec889a4 2013-11-02T14:07:02 branch: move from foreach to an iterator Create a git_branch_iterator type which is equivalent to the foreach but lets us write loops instead of callbacks. Since the introduction of git_reference_shorthand(), the added value of passing the name is reduced.
Carlos Martín Nieto 605da51a 2013-09-17T09:50:30 No such thing as an orphan branch Unfortunately git-core uses the term "unborn branch" and "orphan branch" interchangeably. However, "orphan" is only really there for the checkout command, which has the `--orphan` option so it doesn't actually create the branch. Branches never have parents, so the distinction of a branch with no parents is odd to begin with. Crucially, the error messages deal with unborn branches, so let's use that.
Vicent Marti 09c2f91c 2013-06-17T18:48:02 branch: More obvious semantics in `foreach`
yorah 2ad7a4dc 2013-06-17T18:25:30 ref: free the last ref when cancelling git_branch_foreach() Also fixed an assert typo on nulltoken's HEAD
Vicent Marti 4e6e2ff2 2013-05-30T03:47:10 ...Aaaand this works
Vicent Marti 56960b83 2013-05-28T20:47:55 Liike this
Edward Thomson b6cc559a 2013-05-11T02:42:49 Merge pull request #1385 from carlosmn/refs-iter Introduce a refs iterator
Carlos Martín Nieto 9bd89d96 2013-05-04T16:49:39 Move a couple more functions to use iterators
Carlos Martín Nieto 2b562c3a 2013-05-04T16:32:58 refs: remove the OID/SYMBOLIC filtering Nobody should ever be using anything other than ALL at this level, so remove the option altogether. As part of this, git_reference_foreach_glob is now implemented in the frontend using an iterator. Backends will later regain the ability of doing the glob filtering in the backend.
Nikolai Vladimirov 3d42e9a3 2013-05-06T20:32:20 git_branch_set_upstream with local branches Currently git_branch_set_upstream when passed a local branch creates invalid configuration, for ex. if we setup branch 'tracking_master' to track local 'master' libgit2 generates the following config ``` [branch "track_master"] remote = . merge = .refs/heads/track_master ``` The merge value is invalid and calling git_branch_upstream on 'tracking_master' results in invalid reference error. It should do: ``` [branch "track_master"] remote = . merge = refs/heads/master ```
Russell Belfer 3e199f42 2013-05-01T04:18:46 Set error message for branch functions There were a couple of places where an error was being returned from branch related code but no error message was being set.
Carlos Martín Nieto 4330ab26 2013-04-20T04:43:28 remote: handle multiple refspecs A remote can have a multitude of refspecs. Up to now our git_remote's have supported a single one for each fetch and push out of simplicity to get something working. Let the remotes and internal code know about multiple remotes and get the tests passing with them. Instead of setting a refspec, the external users can clear all and add refspecs. This should be enough for most uses, though we're still missing a querying function.
Russell Belfer 38fd8121 2013-04-18T14:48:20 Fix win64 warnings
Carlos Martín Nieto d59942c2 2013-03-30T04:27:42 branch: add more upstream configuration management Add functions to set and unset the upstream configuration to complement the getter we already have.
Carlos Martín Nieto 97016f29 2013-03-30T09:30:29 branch: refactor git_branch_remote_name Return the size we'd need to write to instead of simply an error. Split the function into two to be used later by the upstream configuration functions.
Carlos Martín Nieto a258d8e3 2013-03-30T03:39:19 branch: rename 'tracking' to 'upstream' The term 'tracking' is overloaded. Help distinguish what we mean by using 'upstream' for this part of the library.
Arkadiy Shapkin 10c06114 2013-03-17T04:46:46 Several warnings detected by static code analyzer fixed Implicit type conversion argument of function to size_t type Suspicious sequence of types castings: size_t -> int -> size_t Consider reviewing the expression of the 'A = B == C' kind. The expression is calculated as following: 'A = (B == C)' Unsigned type is never < 0
Edward Thomson d00d5464 2013-03-01T15:37:33 immutable references and a pluggable ref database
nulltoken c1b5e8c4 2013-02-15T11:35:33 branch: Make git_branch_remote_name() cope with orphaned heads
Russell Belfer 390a3c81 2013-02-11T11:44:00 Merge pull request #1190 from nulltoken/topic/reset-paths reset: Allow the selective reset of pathspecs
Jameson Miller 2e3e8c88 2013-02-08T11:05:47 Teach remote branch to return its remote
nulltoken 3ad05221 2013-02-05T16:52:56 Fix MSVC compilation warnings Fix #1308
Sebastian Bauer c253056d 2013-01-24T20:44:17 Added git_branch_name(). This is a convenience function to get the branch name of a given ref. The returned branch name is compatible with the name that can be supplied e.g. to git_branch_lookup(). That is, the prefixes "refs/heads" or "refs/remotes" are omitted. Also added a new test for testing the new function.
nulltoken bf031581 2013-01-14T14:22:11 branch: Introduce git_branch_tracking_name()
nulltoken 28cbd2e2 2013-01-14T12:09:10 Fix indentations
Edward Thomson 359fc2d2 2013-01-08T17:07:25 update copyrights
nulltoken 37849a8e 2012-11-17T22:09:55 tracking: fix retrieval of the tracking ref of branch with empty merge and/or remote entry
Vicent Marti cfbe4be3 2012-11-17T19:54:47 More external API cleanup Conflicts: src/branch.c tests-clar/refs/branches/create.c
Ben Straub 2508cc66 2012-11-18T21:38:08 Rename ref and reflog apis for consistency
nulltoken b1a3a70e 2012-11-12T00:14:51 repository: Refine repository_head() error report
Edward Thomson b0f6e45d 2012-11-01T15:47:18 create FETCH_HEAD specially instead of as a ref file
nulltoken aba70781 2012-09-11T18:11:26 config: introduce git_config_rename_section()
nulltoken 383f164a 2012-09-07T17:55:30 branch: rename config section upon moving
nulltoken 0b98a8a4 2012-09-07T15:13:11 branch: remove config section upon deletion
nulltoken 8b05bea8 2012-10-19T17:07:39 errors: deploy GIT_EORPHANEDHEAD usage
nulltoken 0532e7bb 2012-10-19T20:34:33 branch: allow deletion of branch when HEAD's missing
nulltoken 62993b61 2012-10-11T14:08:32 branches: propagate EEXISTS upon creation
nulltoken 4ba23be1 2012-10-06T12:20:13 branch: deploy git_branch_is_head()
nulltoken 0c78f685 2012-10-06T10:41:53 branch: introduce git_branch_is_head()
nulltoken e16fc07f 2012-09-13T22:22:40 refspec: No remote tracking ref from a fetchspec-less remote
Vicent Marti 62eafd06 2012-08-27T14:54:52 Merge branch 'branch-delete-ref' into development Conflicts: include/git2/refs.h
nulltoken d1445b75 2012-08-27T15:24:27 branch: reduce code duplication
Vicent Marti 1c947daa 2012-08-23T15:47:29 branch: Change `git_branch_delete` to take a ref
Vicent Marti f0244463 2012-07-27T18:49:37 branch: Add `repository` argument to `create` Yes, we can get the repository from the owner of the object, but having it marked explicitly makes the API more consistent.
nulltoken 786a17cd 2012-07-20T16:41:41 branch: enforce git_branch_delete() parameter checking
nulltoken fb910281 2012-07-20T16:38:54 branch: introduce git_branch_tracking()
nulltoken bf9e8cc8 2012-07-20T16:34:08 branch: make git_branch_move() reference based
nulltoken eed378b6 2012-07-20T16:19:04 branch: introduce git_branch_lookup()
nulltoken b308c11e 2012-07-19T15:39:16 branch: change git_branch_create() to make it return a reference
nulltoken 326ca710 2012-07-19T15:32:58 branch: remove useless header
nulltoken d4827081 2012-06-21T18:48:36 branch: drop git_branch_list()
nulltoken a8fd805e 2012-06-21T18:29:38 branch: add git_branch_foreach()
Frederick Ros fa45d25f 2012-06-13T14:03:48 Fix issue #763
Vicent Martí 59d91979 2012-05-18T13:53:38 Merge pull request #710 from libgit2/breaking-changes Break everything before the release
Vicent Martí 904b67e6 2012-05-18T01:48:50 errors: Rename error codes
Vicent Martí e172cf08 2012-05-18T01:21:06 errors: Rename the generic return codes
Vicent Martí 2e2e9785 2012-05-18T00:42:24 Properly tag all `enums` with a `_t`
nulltoken 392eced6 2012-05-11T22:22:14 branch: retrieve symbolic references when listing the branches
nulltoken 341a7136 2012-05-13T10:17:52 branch: make git_branch_delete() return GIT_ENOTFOUND when the branch doesn't exist
Carlos Martín Nieto 6a625435 2012-04-12T23:40:41 branch: simplify error handling for git_branch_move() The cleanup needs to happen anyway, so set the error code and jump there instead of copying the code.
Carlos Martín Nieto 6a8bcfa4 2012-04-12T20:47:46 branch: plug leaks in git_branch_move() and _delete()
Carlos Martín Nieto 1a2b8725 2012-04-11T14:27:40 Typedefs don't have enum in front
nulltoken 4615f0f7 2012-04-09T03:22:14 branch: add git_branch_move()
nulltoken 731df570 2012-04-04T15:57:19 Add basic branch management API: git_branch_create(), git_branch_delete(), git_branch_list()