This is cleaner, and for cherry-pick also handles conflicts
Change-Id: I50a7035c532a2cfa07fdd960e70ffb4af666a80e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Other refs can also be checked out using this function
Change-Id: I80a1c15244b1043cfce650a121c71174b9d322cb
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Offers the user to stash changes (if relevant), stores
the results and pops the stash when it goes out of scope
(unless disabled)
Change-Id: Ibc0d2a5d3e3c953062fb17ecba903ca814524837
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
If the user created another stashed between save and
pop, this stash will be restored instead of the intended
one.
Change-Id: I605c9f440345d8c7e0876f4f60daa7146bebb212
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
When flags are not used. syncStash doesn't return result,
which can be useful for StashGuard
Change-Id: I1327b5d8d10410e7a3b9fdb07a03b476d5abcdc4
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
... when the stash should be removed on successful pop
Change-Id: I39b2c01b0a518d3c70bcb8dc898191cca6d3e84d
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* Split part/next/last into a 'part' node and a 'next/last' node
instead of 'part/next' and 'last' node. This is closer to what git does.
* Fix some model-issues along the way;)
* Unhighlight remote checked-out branches again once they are no longer
the current one.
* Remove stale nodes after removing a branch. When removing 'first/next'
kind of branches, do not keep a empty 'first' in the tree.
Task-number: QTCREATORBUG-8518
Change-Id: Ia5650540aa58354aaab513199c8622392bdbd37f
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
Use diff file pattern to match file name. Avoid duplication.
Include unit tests for Git
Change-Id: Ib68a08368270a27976a3e16bdd1cb219a52b8889
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
There seems to be still disagreement in the code what the
individual parameters are meant for.
Change-Id: I9c51e6ee9cc8fd1a55d202b8131027de1ef812a0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
- added ability to fix working directory in constructor
- show tooltip for commit
Change-Id: Ife69bed696960b8ce0b929a24f45bc8bba85df49
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Useful when the same file can appear more than once
(e.g. staged + modified)
Task-number: QTCREATORBUG-5347
Change-Id: I3ce716c22840c149490e00e6948612607ae57159
Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This can ease adding commands that can cause conflicts like cherry-pick,
revert, merge, rebase, stash pop ...
Change-Id: Id9df7f11307dbbcb60036a20a2c22c5097ba239f
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Rebase on pull should check if branch configuration has rebase set to
true. This is important to correctly abort operation when conflicts
appear, and user chooses not to run mergetool
Change-Id: I365aa534bdbece466514f542ea2e3c371c89a4a8
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
#!/usr/bin/env ruby
Dir.glob('**/*.cpp') { |file|
# skip ast (excluding paste, astpath, and canv'ast'imer)
next if file =~ /ast[^eip]|keywords\.|qualifiers|preprocessor|names.cpp/i
s = File.read(file)
next if s.include?('qlalr')
orig = s.dup
s.gsub!(/\n *if [^\n]*{\n[^\n]*\n\s+}(\s+else if [^\n]* {\n[^\n]*\n\s+})*(\s+else {\n[^\n]*\n\s+})?\n/m) { |m|
res = $&
if res =~ /^\s*(\/\/|[A-Z_]{3,})/ # C++ comment or macro (Q_UNUSED, SDEBUG), do not touch braces
res
else
res.gsub!('} else', 'else')
res.gsub!(/\n +} *\n/m, "\n")
res.gsub(/ *{$/, '')
end
}
s.gsub!(/ *$/, '')
File.open(file, 'wb').write(s) if s != orig
}
Change-Id: I3b30ee60df0986f66c02132c65fc38a3fbb6bbdc
Reviewed-by: hjk <qthjk@ovi.com>
It might fail because a particular branch points to an invalid commit.
We don't want that to prevent display of all other branches.
Change-Id: I8fe427735351fc458c99396dc1f9d77bc948468e
Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Added git functions - "Merge" and "Rebase"
They are in the "Branches" dialog:
- Merge - merge selected branch into current one
- Rebase - rebase current branch on selected one
Task-number: QTCREATORBUG-8367
Change-Id: I9ed306c64d5d4b7bd1d58730a5e1009f0bd4ec0e
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Default implementation is between O(n) (for identical models) to
O(n*m) (for disjoint models). If sort order is known, this
can be reduced to O(n+m), like in Git implementation.
Change-Id: I44662a22961311cb882601d20efa9d445f74748b
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: hjk <qthjk@ovi.com>
Submodules are not stashed and are not considered a conflict after revert
Change-Id: I97a0792db615054622b9b67a7f6b58b5aee05273
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>