Commit Graph

766 Commits

Author SHA1 Message Date
Pieter de Bie f0860b4f9d Add testing framework 2009-10-01 21:06:09 +02:00
Pieter de Bie 1854fc0bd0 Merge branch 'pu/pb/index_refactor'
* pu/pb/index_refactor: (24 commits)
  PBGitIndex: post notifications when index stuff fails
  GitIndexController: reorder methods a bit, remove unnecessary stuff
  PBGitIndex: Migrate discardChanges to the GitIndex
  CommitController: Make commit message editable after commit failed
  GitIndex: Fix a few comments
  GitIndex: explicitly tell when stuff is updated
  Remove cruft
  Show previous commit message when amending
  CommitController: Empty commit title when commit is successful
  CommitView: Remove cruft
  Add failed commit notifications
  GitIndex: add commit notifications
  CommitController: Add status messages for index operations
  GitIndex: Add a few notifications
  CommitView: Migrate patch apply stuff to GitIndex
  GitIndex: Add support for applying patches
  CommitController: Replace commit method with the one from GitIndex
  GitIndex: add basic commit method
  GitIndexController: Migrate stageFiles functions to GitIndex
  GitIndex: Add methods to stage and unstage files
  ...

Conflicts:
	PBGitCommitController.m
	PBGitIndexController.h
	PBGitIndexController.m
2009-09-17 23:47:43 +02:00
Pieter de Bie 1a5a211ddf Merge branch 'stable'
* stable:
  HistoryView: Don't show the 'loading commit' thing until after 500 ms.
  HistoryView: Remove raw view
  HistoryView: don't load in commit information in a separate thread anymore
  Fix UTF-8 bug in NSString_RegEx
  CommitView: Don't keep rearranging when iterating over files
  IndexController: de-privatize the index-stopping stuff
2009-09-17 23:43:34 +02:00
Pieter de Bie 5972bd4f7f HistoryView: Don't show the 'loading commit' thing until after 500 ms.
This was annoying me a lot, so it's in stable :)

Signed-off-by: Pieter de Bie <pdebie@ai.rug.nl>
2009-09-17 23:40:38 +02:00
Pieter de Bie 34394d056b HistoryView: Remove raw view
I don't think anybody has ever used this, so let's just remove it.
2009-09-17 23:32:35 +02:00
Pieter de Bie 0363eea494 HistoryView: don't load in commit information in a separate thread anymore
I've seen this hang or crash a few times, so I hope this works better.
Instead of running a task in a separate thread, we just let it go through
the run loop and catch it when the task is done.

This ruins the second subview in the history view, but I don't think
anybody ever used that, so I'm going to remove it.
2009-09-17 23:29:06 +02:00
Pieter de Bie 2cdf2b60f5 Merge branch 'pu/pb/index_quick_fix' into stable
* pu/pb/index_quick_fix:
  CommitView: Don't keep rearranging when iterating over files
  IndexController: de-privatize the index-stopping stuff
2009-09-14 15:09:03 +02:00
Pieter de Bie 3324591e6c Fix UTF-8 bug in NSString_RegEx
This class would use the location information provided by
regex(3) as range for for a substring. However, the information
regex(3) returns is a byte-based, while NSString works on characters.

This can cause a problem when there are UTF-8 characters in the string,
as the wrong subsstring will be returned.

This is fixed by taking the UTF bytesequence, and extracting a substring
from that, rather than using NSString's own substring method
2009-09-14 13:25:01 +02:00
Pieter de Bie a2b3bf3d1e PBGitIndex: post notifications when index stuff fails
We use notifications so that we can make all these methods async later on
2009-09-13 16:55:40 +02:00
Pieter de Bie 438a3f808d GitIndexController: reorder methods a bit, remove unnecessary stuff 2009-09-13 16:55:40 +02:00
Pieter de Bie 3dc312ff2e PBGitIndex: Migrate discardChanges to the GitIndex 2009-09-13 16:55:40 +02:00
Pieter de Bie e17b454c39 CommitController: Make commit message editable after commit failed 2009-09-13 16:55:40 +02:00
Pieter de Bie 59d4a159a4 GitIndex: Fix a few comments 2009-09-13 16:55:40 +02:00
Pieter de Bie 029b42c540 GitIndex: explicitly tell when stuff is updated 2009-09-13 16:55:40 +02:00
Pieter de Bie 9b1fcd7628 Remove cruft 2009-09-13 16:55:40 +02:00
Pieter de Bie 249233114d Show previous commit message when amending 2009-09-13 16:55:40 +02:00
Pieter de Bie 2b317eee5c CommitController: Empty commit title when commit is successful 2009-09-13 16:55:39 +02:00
Pieter de Bie 6265c774ac CommitView: Remove cruft 2009-09-13 16:55:39 +02:00
Pieter de Bie 5323b91596 Add failed commit notifications 2009-09-13 16:55:39 +02:00
Pieter de Bie 4192d6a03f GitIndex: add commit notifications 2009-09-13 16:55:39 +02:00
Pieter de Bie c6d2b61020 CommitController: Add status messages for index operations 2009-09-13 16:55:39 +02:00
Pieter de Bie ff263c6717 GitIndex: Add a few notifications 2009-09-13 16:55:39 +02:00
Pieter de Bie cdae809f41 CommitView: Migrate patch apply stuff to GitIndex 2009-09-13 16:55:39 +02:00
Pieter de Bie 57dc38f587 GitIndex: Add support for applying patches 2009-09-13 16:55:39 +02:00
Pieter de Bie 87dfb47f4f CommitController: Replace commit method with the one from GitIndex 2009-09-13 16:55:39 +02:00
Pieter de Bie 8df614cb53 GitIndex: add basic commit method 2009-09-13 16:55:38 +02:00
Pieter de Bie f51fd6c214 GitIndexController: Migrate stageFiles functions to GitIndex 2009-09-13 16:55:38 +02:00
Pieter de Bie 35a4dc37e2 GitIndex: Add methods to stage and unstage files
These are mostly copies from PBGitIndexController, and
they can be refactored to a common method. I'm not sure of a name
for that yet, so I'll keep it like this for now :)
2009-09-13 16:55:38 +02:00
Pieter de Bie 64a52ad9e0 CommitView: Migrate diff displaying away from IndexController 2009-09-13 16:55:38 +02:00
Pieter de Bie 07417acd51 GitIndex: add support for retrieving diffs 2009-09-13 16:55:38 +02:00
Pieter de Bie 03e1d3e882 WIP: Add GUI support for the new index 2009-09-13 16:55:38 +02:00
Pieter de Bie 6531cfce3b Add a new class, PBGitIndex, which integrates functionality from both indexcontrollers 2009-09-13 16:55:38 +02:00
Pieter de Bie 44768921f3 GitRevList: run the log command in the correct directory when available 2009-09-13 16:55:20 +02:00
Pieter de Bie 8ae2cde437 GitRevList: Always run --children
It's very difficult to determine whether or not we have a path specifier.
Because it's so difficult, it's better to just always run --children. A quick
test indicates that it doesn't matter much in run-time, and it's better to be
conservative in what we accept than to show bogus lines because the children
haven't been rewritten.
2009-09-13 16:55:20 +02:00
Pieter de Bie 86ea9b5469 GitRevList: replace 'id' with PBGitRepository 2009-09-13 16:55:20 +02:00
Pieter de Bie d59745294d CLIProxy: pass on the directory in which the gitx command is run 2009-09-13 16:55:20 +02:00
Pieter de Bie 95a9cc81fc RevSpecifier: Add support for a working directory
This indicates the directory in which the Revparameters should be run,
useful when the parameters are requested from the CLI
2009-09-13 16:55:20 +02:00
Pieter de Bie 00731eb285 CommitView: Don't keep rearranging when iterating over files 2009-09-12 23:43:35 +02:00
Pieter de Bie 916711324f IndexController: de-privatize the index-stopping stuff
We shouldn't need to do this, but we still need to, because
our index operations are split between two different controllers,
which is a bit odd.
2009-09-12 23:43:14 +02:00
Johannes Gilger 4544816ac8 GitX.css: Set a default-font for body
Some people have had Serif-fonts in their interface where no specific
fonts for classes/ids were specified. This sets the default-font to
'Lucida Grande' in order to have a nice non-serif on any system.

Signed-off-by: Johannes Gilger <heipei@hackvalue.de>
2009-09-09 23:03:03 +02:00
Johannes Gilger b7945b05e9 UserManual: Clarify double-click in stage-lines
Signed-off-by: Johannes Gilger <heipei@hackvalue.de>
2009-09-09 10:19:33 +02:00
Pieter de Bie ff5388cc24 HistoryView: Remove focus border
That's so 1999!
2009-09-08 16:42:55 +02:00
Pieter de Bie 53ca665271 Delete this test file.
I don't think we need it anymore. Otherwise, we can alway
get it back.
2009-09-08 15:53:43 +02:00
Pieter de Bie b6575d9dba Update site to mention git v1.6.0 requirement' 2009-09-08 15:19:04 +02:00
Johannes Gilger 3a1b10ae8f PBGitTree: Improve binary-file decision
This uses the same mechanisms as git to determine whether a file is
binary: By simply searching the first 8000 bytes for a 0-byte. This
gets rid of the call to "file" and is a much cleaner and shorter
implementation.

Signed-off-by: Johannes Gilger <heipei@hackvalue.de>
2009-09-08 15:13:13 +02:00
Pieter de Bie 3861deecfa Require Git 1.6.0 or higher
Git 1.6.0 was released over a year ago now, so it shouldn't be too hard
to get people to upgrade to that. We need 1.6.0 for the --children revlist
option.

Requiring Git 1.6.0 or higher means we can also revert
a94981f35 (RevList: Don't rely on the presence of %x00) sometime.
2009-09-08 00:06:57 +02:00
Pieter de Bie c95a22acc3 Add a link to the user survey v0.7 2009-09-07 15:22:24 +02:00
Johannes Gilger 8243cf58b3 PBGitTree: Don't try to print binary-file contents
This patch prevents the plaintext display of files with binary content
in tree-view by connecting the content to the textContents attribute.

PBGitTree is extended with the method textContents, which returns the
textual representation of a PBGitTree-object. The methods first checks
the output of "git check-attr binary <file>" to see if the user
set/unset the binary attribute manually. Then it checks for common
binary file-extensions. If this method can't determine whether the file
is binary, the file-content is loaded and Unix "file" is run on the
first 100 bytes of the file to make a decision.

It also adds the -[PBGitTree fileSize] method to check the size
of the file before actually loading its contents.

Signed-off-by: Johannes Gilger <heipei@hackvalue.de>
Edited-by: Pieter de Bie <pdebie@ai.rug.nl>
2009-09-07 14:38:44 +02:00
Johannes Gilger 8750060621 Site: Get rid of auto-refresh description
Signed-off-by: Johannes Gilger <heipei@hackvalue.de>
2009-09-07 14:35:39 +02:00
Pieter de Bie 6f18d9457a Add a few more release points 2009-09-07 13:44:24 +02:00