Commit Graph

92 Commits

Author SHA1 Message Date
Pieter de Bie fa6ff44d0b PBGitRepository: Clean up the readFromURL: method
We used a BOOL value which was returned afterwards,
but we might as well just return early and simplify everything
2009-06-20 21:33:22 +01:00
Benoit Cerrina fa6182e2a4 PBGitRepository: Fix opening of large directories due to bug in NSFileWrapper.
This commit changes  readFromFileWrapper:ofType:error: to readFromURL:ofType:error:.

The default implementation of readFromURL calls readFromFileWrapper, but a bug
in NSFileWrapper makes this fail with repositories with a large number of files
(not sure if the fact that those files were in subdirectories matter or not).

So instead we skip the whole FileWrapper thing, which we don't really use anyway,
and just use the URL.
2009-06-20 21:33:22 +01:00
Pieter de Bie aa43e18d61 PBGitRepository: Add support for changing the environment when executing commands 2009-06-11 18:57:34 +01:00
Pieter de Bie b382b34118 PBGitRepository: Specify environment when calling hooks 2009-06-11 18:56:24 +01:00
Johannes Gilger 64b977e9c8 PBGitRepository: Add method to remove branch
This adds a removeBranch method similar to the addBranch method. It
calls these methods when a branch is created/deleted in the UI, avoiding
the cost of simply calling refresh afterwards.

Signed-off-by: Johannes Gilger <heipei@hackvalue.de>
2009-06-06 17:23:51 +01:00
Pieter de Bie 785e7eda42 Merge branch 'stable'
* stable:
  When selecting a folder in tree-view, display the
  PBGitRepository: Correctly indicate bare/non-bare repos
  Get rid of some unnecessary casts
  CommitController: Don't rewrap commit message when amending
  Release notes for 0.6.3
  PBGitCommit: Call git show with --no-color to be safe
  Info.plist: Fix handling of directories
  PBGitIndexController: fix uninitialized value

Conflicts:
	PBGitCommitController.m
2009-05-27 18:25:14 +01:00
Johannes Gilger 5040bdc1c2 PBGitRepository: Correctly indicate bare/non-bare repos
This addresses an issue with non-bare repos which had no core.bare
variable in the config. The isBareRepository-function would work
on the full fileURL (pointing to the .git subdir), which in turn would
indicate a bare repo (this is what git rev-parse --is-bare-repository
returns in .git, and the opposite is true for the superdir).

We work around by using the working-dir for a repo (and directly
indicating a bare repo if there is no workdir). The only issue remaining
is the case of a bare repo manually set to "core.bare = false".

Signed-off-by: Johannes Gilger <heipei@hackvalue.de>
2009-05-27 18:10:17 +01:00
Benjamin Kramer c12e8b9dd4 Get rid of some unnecessary casts 2009-05-27 18:09:29 +01:00
Joe Fiorini a93740a3a7 Enable arguments to be passed to executeHook.
Some hooks, such as commit-msg and
prepare-commit-msg require at least one argument.
This allows executeHook to take an array of
arguments to be passed on to the hook.
2009-05-27 18:03:15 +01:00
Johannes Gilger e9d45261bd PBGitRepository: Display branch-name in window title
This returns not only the name of the git-dir but also the current
branch (or detached HEAD if no local branch is checked out).

When reloading the refs (which also happens when checking-out using
GitX), the displayName-method is called, updating the window-title.

Signed-off-by: Johannes Gilger <heipei@hackvalue.de>
2009-05-18 23:18:59 +01:00
Pieter de Bie b896ac0d56 Allow executing of hooks 2009-05-18 23:05:08 +01:00
Owen Yamauchi 82b6efc1d7 Fix ticket #84: disable commit view for bare repos 2009-02-06 21:09:03 +01:00
Pieter de Bie ddc9ae7654 PBGitCommit: Don't store refs
We already keep this dictionary in our repository. Rather than adding a
pointer to it on every commit in our rev walk, just look it up lazily in the
dictionary when we need to. That cuts down some time in the initial revwalk
and also removes some stupid code :)
2009-01-25 02:14:09 +00:00
Rick Berry 40cceebc9b Fix file path construction when using NSString 2009-01-19 16:55:43 +00:00
Mark Bestley fc00f6c087 CommitView: Add option to add files to .gitignore
In the commit view, add an option in the context menu to have git
ignore them by adding the file names to .gitignore file in the root
of the workarea.
2008-12-22 21:59:11 +01:00
Pieter de Bie 3dd6385440 Fix memory leaks 2008-11-26 17:44:24 +01:00
Pieter de Bie 3d64d83f98 Create a new SpeedTest target
This adds a new target 'SpeedTest', which just loads in a repository
and displays how long it takes to load the revision. This is handy for
testing the speed of the revwalking mechanism
2008-11-24 22:32:46 +01:00
Pieter de Bie 6038c20d7d HistoryView: Add a "Local Branches" option 2008-11-19 02:10:21 +01:00
Pieter de Bie a62e14ffe7 HistoryView: Remove the BranchController
This wasn't used anyway. A good idea would be to create a new
branchcontroller that takes care of all these revs, rather than
letting PBGitRepository take care of that
2008-11-19 01:54:14 +01:00
Pieter de Bie 92437c6663 WIP: Use a nicer branches menu 2008-11-19 01:41:27 +01:00
Pieter de Bie 0975426f2f CommitView: move index functions to separate controller
This merges functionality that was previously stored in the
combination of PBGitCommitController / PBChangedFile to a
dedicated controller, PBGitIndexController.
2008-11-18 23:59:25 +01:00
Pieter de Bie 00e44b35d0 RefController: Allow checking out branches 2008-11-01 23:24:41 +01:00
Pieter de Bie e02ee5231c WebHistoryController: Move ref deletion to RefController
That's why it's there, after all. This also makes the system
more robust and catches some more errors.

The next thing this enables is to also allow right-clicking
on refs in the commit list.
2008-11-01 22:51:10 +01:00
Pieter de Bie 41a906d715 PBGitRepository: Don't return a ref if we error out
This fixes the -parseReference: method to return nil if
there is an error in the git call. This also simplifies
our commit controller.
2008-10-29 00:24:10 +01:00
Pieter de Bie 85c942f530 Merge branch 'pu/pb/git_config'
* pu/pb/git_config:
  CommitView/Gistie: Use github.user and github.login
  Add a way to retrieve values from .git/config files
2008-10-14 16:45:45 +02:00
Pieter de Bie 406125eee2 GitRepository: Cache HEAD ref
Since 63523d00e8 (History view:
Make lozenge of currently checked out branch (HEAD) bold, same as gitk.),
-[PBGitRepository headRef] was called every time a cell needed redrawing.

This made GitX slow overall, but especially when resizing the window.

So, it's better to cache the value. We'll still reload it with an
explicit refresh though.
2008-10-14 01:38:17 +02:00
Pieter de Bie afb3d45656 Add a way to retrieve values from .git/config files
This introduces the PBGitConfig class. It is KVC compliant as far
as I can see, in that you can actually bind to it in IB and use
ValueForKeyPath to retrieve values. It currently only handles
strings; it should be possible to add functions to process
booleans and numbers to it.
2008-10-14 01:02:27 +02:00
Pieter de Bie 7793e5eed4 GitRepository: Quiet a git error when resolving symbolic ref
We already catch this in our code, so this was just
confusing the debug output.
2008-10-04 22:41:21 +02:00
Pieter de Bie 8c9697968b Better handle the cases when a Git binary can't be found 2008-10-04 22:41:16 +02:00
Pieter de Bie ffae6a8564 GitRepository: Add an "all branches" option in branches list
This is probably the most common non-branch GitX option, so
let's add it by default
2008-10-03 19:25:50 +02:00
Christian Jacobsen e25aec668b GitRepository: Skip empty lines when parsing refs
This fixes loading repositories.
2008-10-02 20:46:07 +02:00
Pieter de Bie 95c4bcbaba Don't store the windowcontroller in an iVar
There's no need to, as we can just retrieve it from
the WindowControllers array.
2008-09-28 13:31:47 +02:00
Pieter de Bie b255fb39d8 Fix branch reloading
This fixes a regression in 86606ef8, where the branches array was
created anew every time the branches were reloaded, causing you to
lose current branch selection.
2008-09-28 13:10:57 +02:00
Pieter de Bie a2217fe099 Reload commits after doing a commit 2008-09-28 13:03:55 +02:00
Pieter de Bie 709547ac85 Add Commit/History options in View menu 2008-09-26 23:30:52 +02:00
Pieter de Bie 86606ef815 Add a --commit option to the CLI client
This changes a lot of code, so quick review:

* RepositoryDocumentController now returns the document without selecting a ref
* PBGitWindowController now optionally shows the default view, or selects no view at all
* PBGitRepository keeps a pointer to its WindowController so that it can change views
2008-09-26 23:22:15 +02:00
Pieter de Bie 3f923f51a1 CommitView: Add commit capability 2008-09-24 01:08:10 +02:00
Pieter de Bie 252796ee26 CommitView: Show basic files 2008-09-23 01:02:33 +02:00
Pieter de Bie 4ebe4b4aa9 PBGitRepository: add a handle for in-worktree-commands 2008-09-22 22:49:59 +02:00
Pieter de Bie ea3cd7287c Add support for removing refs
This is somewhat hackish, in that it reloads all commits after deleting
a ref, but at least it works
2008-09-22 21:12:26 +02:00
Pieter de Bie faef971e18 EasyPipe: Add functions to ask for the return value of commands 2008-09-22 21:11:53 +02:00
Pieter de Bie ef6b506dc7 Check if a repository is valid 2008-09-20 12:14:58 +02:00
Pieter de Bie 7f337cda2a Show current branch in branch menu
This kept going broken, so now instead of Interface Builder bindings,
we create the binding ourselves
2008-09-20 11:24:21 +02:00
Pieter de Bie 7bc7302bd4 Don't show tags anymore in branch menu
This was accidentally added after the xib splitting
2008-09-19 21:46:54 +02:00
Pieter de Bie 708c08a293 First part of splitting views 2008-09-19 21:36:52 +02:00
Pieter de Bie 53636f40eb Remove debug output 2008-09-19 19:58:04 +02:00
Pieter de Bie 1f783c91c4 Reload refs on refresh 2008-09-19 19:17:07 +02:00
Pieter de Bie db39aeebeb Also look for git in /usr/local/bin/git 2008-09-18 02:22:35 +02:00
Pieter de Bie 8c94e1b514 Optimize revision walker bindings
This simplifies the procedure used to walk revisions
by only loading in commits if the branch selection
was changed.
2008-09-14 15:09:20 +02:00
Pieter de Bie 69c340e4a8 Fix an out-of-bounds bug 2008-09-13 00:24:08 +02:00