Commit Graph

677 Commits

Author SHA1 Message Date
Orgad Shaneh
f621ee5bc4 Git: Diff current file against index
Task-number: QTCREATORBUG-9663

Change-Id: I18b4ec5577bf0114075141583c938eaa02d5eded
Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com>
2013-07-01 11:22:49 +02:00
Orgad Shaneh
893b1e9a16 Git: Support commit.template under ~
Task-number: QTCREATORBUG-9530

Change-Id: I21ee4202aa750a9d4d89f05d51af7c63489eb6c3
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-07-01 11:21:54 +02:00
Orgad Shaneh
62554e7647 Git: Add a soft assertion
If directory is empty, buttons remains NULL, which leads to a crash

To reproduce, open Branches dialog then close all editors
and projects and click Log for a branch

Change-Id: Icf06b76c58585c0dd6062017e94e07dad016c275
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-07-01 10:35:02 +02:00
Orgad Shaneh
a0ee1300c3 Git: List conflicted files on stash pop conflict
Change-Id: I0dd71c928b430ca4a54034b9ddaa0d10e75ded54
Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-06-26 10:26:18 +02:00
jkobus
f5a2c1469a Add a DiffShowEditor showing an additional info
Task-number: QTCREATORBUG-9489

Change-Id: I3ae2e59ccaf397f4236505f21e027a42e2798784
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-19 09:11:42 +02:00
Petar Perisin
159a7d61dd Git - stash scope guard in submoduleUpdate
Change-Id: I888d4013e88fdc6977f29ef3e27d243e55a1f1a7
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2013-06-17 22:22:31 +02:00
Orgad Shaneh
096daac0bd Git: Execute rebase asynchronously
Rebase --continue might request an editor, which hangs if run
synchronously

Change-Id: I28127884408f6f8fbd351bb1024dc8d3c2b339b8
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-06-17 10:56:05 +02:00
Orgad Shaneh
7ff6dcabd1 Git: Handle merge conflicts on stash pop
Change-Id: I41a9173be2feae4ab529fd9b3f2e1e7cc5ae92ff
Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-06-17 10:44:27 +02:00
Orgad Shaneh
e9443ff51f Git: Show tracking branch on Branches dialog
Simplify branch model parsing a bit

Change-Id: Id9e41c6c2769397d6eee3ab74de4afbb94111e25
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
2013-06-14 13:50:50 +02:00
Orgad Shaneh
709920e013 Git: Fix expecting changes in executeGit
Calling setExpectChanges after execute is too late

Change-Id: I852c224206fcd758943252029b8e9b050920ca5c
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-06-12 10:15:00 +02:00
Orgad Shaneh
69d0d6cdca Git: Style fixes
Change-Id: I600e939e99de77e92de1ff068a5ebad98eb736ca
Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-06-11 10:30:55 +02:00
Orgad Shaneh
5cb29aec0b Git: Initialize ConflictHandler before executing command
expectDirectoryChange is called by ConflictHandler. After the command
is executed it is too late

Change-Id: I27e82fd2a979a043932b4a838f3736cbe0f60107
Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-06-11 10:30:43 +02:00
Orgad Shaneh
96a0920440 Git: Use file directory as editor source for files opened inside git dir
* git rev-parse --show-toplevel doesn't work inside git dir.
* Only "Describe (show)" should be available for those files. show
  works when running from inside the git dir

Change-Id: If5f3d1af8da2f8d149ac1e03ffd70b530e609557
Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-06-10 10:38:23 +02:00
Orgad Shaneh
879012a50b Git: Mark forgotten cases as expected to change
* When mergetool is done
* Stash
* Stash pop
* Continue/skip command
* executeAndHandleConflicts
* Interactive rebase

Change-Id: Ic8108b096c367c7777dae06f7ff255999d64fda9
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-06-10 10:38:00 +02:00
Orgad Shaneh
808f4492c5 VCS: Add a property to Command to indicate expected repo changes
Change-Id: Ia6c929ae64008dcb37695a5358c44096a893e0c4
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-06-10 10:37:36 +02:00
Orgad Shaneh
aae82f0e29 Git: Add using VcsBase::VcsBasePlugin
Less noise

Change-Id: I5c13af770f04ae411b09ed824cf93d2768b8e224
Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-06-10 10:37:29 +02:00
jkobus
5e407c08d7 Remove \r from git process output
Task-number: QTCREATORBUG-9443
Task-number: QTCREATORBUG-9448

Change-Id: I02e65eab6be5d129b605067425f6774550fbf511
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2013-06-06 13:28:07 +02:00
Petar Perisin
bf3c8601ef git - add files for commit that are inside untracked folders
However, files need to be part of the current project to be added to the
list.

Task-number: QTCREATORBUG-9153
Change-Id: Ifb7a4684e85d0ccd688956eeff77b4cc7d807911
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2013-06-05 21:48:44 +02:00
Orgad Shaneh
164955a4e0 Git: Use top level for stash working directory
The message in stashPrompt doesn't make sense with an inner directory

Change-Id: Iddbea519915cd22a6882dcafb705d1ed99106db6
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-06-05 18:32:29 +02:00
Petar Perisin
d567c60061 Git - bugfix with empty string in findRepositoryForDirectory
Change-Id: I44f68ad59d10e9751d09ed6e0f959d2a78d53822
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2013-06-05 17:02:22 +02:00
Orgad Shaneh
2ee83d4c9e Git: Fix stash pop on end of a continuous command
Broken in 92392454b7

Change-Id: I4e3d3b1c2fbec66c5471baedf1996529b852b868
Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-06-05 13:23:44 +02:00
Eike Ziller
7c8db79817 Switch less often to edit mode
This change
* Removes IMode::type, ModeManager::activateModeType, and
  IEditor::preferredModeType, and adds IEditor::isDesignModePreferred
  instead
* Adapts the mode switching code in EditorManager to handle multiple
  windows, for example switching to edit mode should only happen if
  the editor/view is in the main window. Otherwise the editor window
  should be raised and focused
* Renames EditorManager::NoActivate --> DoNotChangeCurrentEditor
* Reverts the EditorManager::ModeSwitch logic to switch mode or
  make the current editor visible by default, introducing
  DoNotMakeVisible flag instead
* Fixes a few instances where EditorManager::ModeSwitch should have been
  used

One non-trivial problem left: If you open a .ui file and switch to an
external editor window, edit mode is activated, because the current
editor no longer is a .ui file, which means that the design mode gets
deactivated.

Change-Id: I76c5c2391eb4090143b778fb103acff3a5a1ff41
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-06-05 09:43:14 +02:00
Petar Perisin
808afcfbb2 Git - made Clean List support submodules
Change-Id: I106420e8492d64451eee3648800ce57a4de2bfb9
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-06-04 21:14:12 +02:00
hjk
8510c2ab2b Git: Try do consolidate code duplication
Change-Id: I5ac34d96152d6e4f9abc8f6dd18d1e1eab0bde7f
Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com>
2013-06-04 13:20:33 +02:00
Petar Perisin
36bec480ae Git - execute push asynchronously
Change-Id: I0d5b0eaf562d30f34f01bcf344791a4ce766bdab
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-06-04 10:59:38 +02:00
Petar Perisin
dd7c2e622e Git - refactor executeGit and remove unnecessary args
Change-Id: Idf770a20db66191b4d7fe3a704d31bdce70505c5
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-06-04 10:59:06 +02:00
Petar Perisin
80a7107691 Git - execute fetch asynchronously
Change-Id: Ic2243adaa36444099f834676186331927f3f4588
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-06-04 10:58:56 +02:00
Orgad Shaneh
92392454b7 Git: Do not pop stash if a command is in progress
Running interactive rebase and choosing edit for a commit causes
stash pop when the commit is expected to be edited

Change-Id: I37249e8486b609dedba143bd130059444f882303
Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-06-04 10:43:35 +02:00
hjk
3814e262ff DiffEditor: Rename DiffEditorEditable to DiffEditor
More in line with current naming conventions.

Change-Id: I63f6677bd12d82f6749032996585d761f1a74fb7
Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-06-03 17:28:48 +02:00
Orgad Shaneh
5d39fcf7cf Git: Better wording for rebase in progress message
Change-Id: I13d002773dd81206c70b7eb91727f152d7e84507
Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-06-03 10:41:30 +02:00
Orgad Shaneh
bcd8c02aea Git: Prevent or close fixup editor if no local commits are found
Change-Id: I546241fb3531cbc542b97d6d0f53382c9225dcf4
Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-06-03 10:36:22 +02:00
Petar Perisin
55e087ab05 Git: fix bug with Log and Blame not showing stuff correctly.
Task-number: QTCREATORBUG-9375
Change-Id: I4e18e4c2d4db71392aa305d49ffce924f8451a0b
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2013-06-03 09:28:11 +02:00
Orgad Shaneh
05a6fc48ba Git: Support change links on commit editor
Useful for commit messages with "reverts <hash>" for example.

Can later be extended for interactive rebase

Change-Id: Ibf77433ecddfacbd8d443636ddbc406bda474aa7
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-05-31 14:53:02 +02:00
Petar Perisin
77c136646b Gerrit - Removed all patch set stuff
Change-Id: I013c116fc7e0ac1571513005b8ea49992e0771a3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com>
2013-05-31 06:08:35 +02:00
Petar Perisin
86d7e28db4 Git - added submoduleDataMap to handle submodule data
Change-Id: I8462ed07f3d1edce5c7f5ab8c166ce8c68b6d4b3
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2013-05-28 21:53:26 +02:00
Orgad Shaneh
e9f901be15 Git: Don't pop VCS pane on stage
The command is appended anyway, and it usually produces no output
to stdout

Change-Id: Ie5f685b090ead8a0e888c9c0cfa6db2411e91f33
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-05-28 10:02:43 +02:00
Orgad Shaneh
b75cf96868 Git: Refactor stash handling
* Replace RebaseManager with ConflictHandler
* Store StashGuard in GitClient, allow popping after
  a whole process is done (e.g. pull with resolved conflicts)

Change-Id: I85784f32f515ff896c73f35303c7de26f8006f59
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-05-27 10:43:44 +02:00
Orgad Shaneh
829357b397 Git: Only execute stash if there are changes
...even when NoPrompt is specified

Change-Id: I735133e390403a0f8f6aa573d6f9c63cf0784187
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-05-27 10:00:48 +02:00
Orgad Shaneh
5d558c141c Git: Add m_ prefix to StashGuard members
Change-Id: Ice9f33e986688e8d2c5250435a30cd7cb1ac3b28
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-05-27 10:00:36 +02:00
jkobus
b43027ac38 Git - Use new diff editor also for show and diff branch
Change-Id: I94d28dbc1cc5f753beda2284244bcd5c2c9df236
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-05-24 14:49:50 +02:00
jkobus
2ddb726dd5 Add file list combobox to diff editor
Change-Id: I2a40207ed3c4a5c07ba544d681aed6649a0b1a11
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-05-24 14:14:06 +02:00
jkobus
a033beecc8 Simplify code
Change-Id: I1576c3b8d370fdae660a399654b77af11a5f5d36
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-05-23 10:19:23 +02:00
Orgad Shaneh
c60ab1ca3c Git: Fix object leaks
Change-Id: I0efb368782ffb66cf6b8d39650fe7840c5ef2501
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-05-17 17:59:10 +02:00
Leena Miettinen
bc9bb4b93c UI text: fix VCS related strings
Fix capitalization and punctuation and a typo.

Change-Id: Ie974594878aad6dec558516b2d31b202e8c732d4
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2013-05-16 14:33:32 +02:00
Petar Perisin
84520b37e7 Git - fetch from all remotes in repository
Change-Id: I024e6905ad9ef246bf30b898c654ba99e73b42e9
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2013-05-15 19:53:05 +02:00
jkobus
97a86c50dc Basic integration of diff editor inside git plugin
Change-Id: I7675fc1d994020f94f42f6bd7b4f75aa29e6edf6
Reviewed-by: David Schulz <david.schulz@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-05-15 16:24:38 +02:00
Petar Perisin
f5ccdb6b23 Git - modify way to get remotes
Need to use push remote, and not fetch one because of gerrit plugin
checks if remote url contains url set in gerritSettings. This needs push
and not fetch url.

Change-Id: If738e5c46f90ad00dc4616a2d109cab7a193620d
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-05-13 20:59:46 +02:00
Orgad Shaneh
20c3d45409 Git: Output standard error on commit success
post-commit or commit-msg hook might print useful information even
without failing the commit

Change-Id: I91b6ccfc43f1d148fb773ae074b2668927815235
Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-05-13 11:41:29 +02:00
Orgad Shaneh
e836cd082c Git: Prefer remote tracking branch in GerritPushDialog
In case it contains the latest remote commit

Change-Id: Id9e4cc40b7d1aa9daac3a9a2cf9ba41f589da7eb
Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-05-07 11:01:08 +02:00
Orgad Shaneh
8695fe6d7c Git: Implement "Fixup previous commit"
Change-Id: Ia2584ff975ed0db614dc878a70ce4adbd5c3ba67
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-05-04 20:01:04 +02:00