File history should follow copies and renames (BB-681)

Issue #589 open
pdc NA
created an issue

It would be nice if the file history showed the history across copies, e.g. log -f.

Otherwise it's difficult to track the full history of a file that has been renamed. It doesn't show up in the source file list, so you must know that the file was renamed, and look at the source before its "first" revision.

Official response

  • Claire Bianchi staff

    This is something we agree is useful and should be built. As stated in a previous update the required implementation is bigger than simply adding follow to the one command; there are several other cases around the web UI we'd need to handle (particularly the file diff). It is currently in our backlog but we have not yet started work on it.

    At the moment, we're busy improving Bitbucket in the following areas:

    pull requests code search pipelines & deployments design and user experience

    Please continue to follow this ticket for updates, and add comments describing any use-cases that are important to your team and not already covered above.

    Thanks, Claire

Comments (197)

  1. Rob Vesse

    I would really like to see this happen, I have a large project where I've recently made some large re-organisations to make it more maintainable going forward. However the lack of this feature makes revision history for files essentially useless to people browsing via the web interface

  2. Ville Saalo

    This would be an important feature. Here's one sample file in a Mercurial repository for testing this issue: https://bitbucket.org/saibotd/bitbeaker/history-node/ecb3182edb4e/src/com/saibotd/bitbeaker/activities/SourceActivity.java?at=default Click the revision link and then the "Full Commit" button to see how one file was deleted and another one was added. If I now click the "view file" button at the deleted file, I only get an error message about a dead link, i.e. there's no way for me to access the history of the file. Surely that's not the optimal way of handling things. At command line "hg log --follow src/com/saibotd/bitbeaker/activities/SourceActivity.java" still shows all the history for the file that was moved.

  3. agaricusb

    This feature is crucial for many of my projects - I've basically renamed every file in the repository, rendering the BitBucket per-file commit history log not very useful. Sure I can view the full history from the command-line, but having it easily browsable on BitBucket would be very useful.

    The problem occurs with git repositories as well (git-log needs the "--follow" parameter); unfortunately, GitHub also lacks this feature :(. Hope this feature can be added to BitBucket. Thank you.

  4. A

    +1 For Git I use extra options (--follow, -M30%, -C30%) to do a deeper search for renames and copies locally. Adding --summary also shows actual similarity index between revisions of a moved file. Would be nice to have some of these in Web UI. Or at least give a hint to the user that he can find more with local clone.

  5. Boris Ceranic

    Bump. Really important feature. In past several months, I've rearranged my entire repository upside-down twice. File history was useless even after the first set of renames.

  6. EliB

    Atlassian engineer here, desperately pleading for this feature - we frequently need to refer to old changelogs since we support multiple old versions of our products, and after renaming a source directory this becomes a huge pain.

  7. Martin Geisler

    Would everybody who has added a "+1" comment on this issues please go and vote on it instead? That way you avoid notifying everybody who follow the issues with an email saying nothing more than "+1".

  8. jeffjlins

    Is there another company/product like bitbucket that does show history? Might be worth switching... this seems pretty basic and atlassian does not appear to be motivated to fix bugs given that it's been FIVE years.

  9. Bogdan Sandoi

    It would really be nice to have this fixed, even after five years... Projects are bound to have files moved/renamed and this can render the web source code diff useless sometimes. Bitbucket is a great tool, having such frustrating issues solved would make it even greater!

  10. Sebastien Foo

    We are migrating from svn to git, and we use this opportunity to refactor completely our code base by moving all the project into nice clean named subfolders. What was my surprise when I could not access to any history on any of the files on bitbucket (it appears to be the same in GitHub and I suppose that would be a great differentiator).

  11. Ember Quill

    +1

    I would think that tracking file history through renames (something that Git DOES support) would be a given. This issue is five years old. If you're not going to do anything about it, just close it already.

  12. Alastair Paragas

    Would be a helpful feature!

    I added my parent directory to my Git repository, and the rename operations were successful. Git history for files can be tracked with --follow flag after the rename, but the Bitbucket interface shows it as if the file was created without any previous history.

    There is no fix for this at the moment, right? We just have to stick with it until this feature is produced?

  13. Edward Abrams

    @joshuagolub: I think the issue here (if memory serves, it has been a while) is that particularly when reviewing pull requests, which are a bitbucket and not a git feature, this UI goes completely nuts when you move files, showing massive changes and potentially hundreds of thousands of changed lines. Granted git works fine, but again, if I am remembering correctly, the request here is to make PRs work better, at least in part.

  14. Oleg Oshmyan

    Normal history viewing should certainly follow moves as well. At the end of the day, you can do everything using command-line Git and Mercurial, but since Bitbucket provides a UI, that UI should be useful.

  15. Ember Quill

    This issue is actually the main reason why I moved from BitBucket to GitLab last June and never looked back. I had to do a major refactoring of a repository to prep it for a merge with another repository, which involved moving and renaming a large number of files.

    Whether it's "quite a bit of work" or not, It's one of the oldest open feature requests on the tracker. You'd think that six years would be enough time to at least come up with a plan to implement this at some point in the future, but apparently not. The fact that it took five years to even acknowledge the issue and tell us that they have no plans to address it doesn't exactly fill me with confidence.

  16. Dmitriy Kuminov

    Please implement that! It's ridiculous to not follow the file moves in History and DO so in Blame. Makes no sense. A big obstacle in daily work. Github has it, GitLab has it. I will have to move away if you don't.

  17. Dmitriy Kuminov

    Too bad guys that you are out of the office. Besides using it privately, I was also thinking about moving our company's repositories to Bitbucket (and pay you some money) but this feature is surely a deal breaker.

  18. Daniel MacDonald

    Well guys? I just asked my team to clean up the high level directory structure of our main project and now I learn we effectively lose the ability to navigate ALL OF OUR HISTORY if they go through with it. I am contemplating moving our company to github absent any kind of timeline or commitment to usability here. We are paying customers btw.

  19. Chris Polo

    I suffered a lot of grief trying to figure out why I lost my history. Then realized I have it at command line but not through the bitbucket interface. This should be a SIMPLE change by bitbucket. All the information is right there via a log --follow. How has this been requested for 5+ years and never implemented?

  20. Sebastian Garde

    It's quite sad actually. Just turn this issue collector off completely if you have no intention at all to listen to your customers nor want to dignify them with an answer every couple of years or so. I cannot believe that implementing the basics of this can be so difficult.

  21. Michael Bean

    I think they haven't implemented it because they figure those who would request would be people who know how to use git to do it...tools exist for this, so it wouldn't be novel to their product. That is just my guess as to why things like this stay undone.

  22. Luke Meyers

    Sure, but that's a rather thin excuse for releasing otherwise worthwhile tools that don't work properly because obvious features are missing. Features aren't independent; UX is gestalt.

  23. OskarGP

    So guys when this will be available, it is extremly hard to follow changes when more that couple of files were moved to different package (and this is very common thing in business application development today) You see that a package has a name that doesn't correspond to its content anymore. You immediately fix it using automated refactoring. Then if you have some other changes you make the code review very difficoult.

  24. Mario Pérez

    +1

    This issue was opened at 2009, lot of issues marked as duplicated, staff accepting it should be fixed, people leaving bitbucket and migrating to other servers for this reason... I can't believe..

  25. Michael Bean

    IMO I think it is time to file a bug with Atlassian explaining that it appears that long-standing issues seem to have less weight than others--and receive no official updates, which causes confusion and frustration. Lack of speedy customer service is a bug in my book.

  26. Mario Pérez

    At the moment of writing this, this is the 7th issue with more votes, and there are only 15 issues older.. (there are 1985 open issues). As paying customer, I opened an other issue. They said they have an internal issue and are working in it but no ETA can be provided... Some feedback from the team would be much appreciated (in case of any team member read this of course).

  27. Wayne Conway

    Couldn't agree more. Its very frustrating especially as we are trying to reorganize some files and it causes nothing but conflicts and whole files added and removed.

  28. Rob Widdick

    I feel like this is such a nominal change in the grand scheme of things that would have a substantial impact on improvements...

    Why has it been 7 years and nothing's been done? We're also considering moving everything to github, even if the price is higher... especially since the interface is more user friendly and there are far superior integrations available. It seems Bitbucket has been lagging in improvements :(

  29. Joseph Lust

    We do code reviews of PR's on my team. Any minor package refactoring because a massive 12 page PR on BB. These should just say "Renamed A->B". Git does it behind the scenes, so I don't see why it can't be done.

  30. Steve Muskiewicz

    @Alexey Titov hope you have better luck with your efforts, I tried the same with Atlassian support (as we are also a paying customer) and got the "Thanks for taking the time to file this ticket but the best place to make your voice heard is on the ticket itself with your vote. I know that there are a lot of votes there already but trust that we're working to prioritize as best as we can."

    Followed by ticket being closed 20 mins later.

  31. gitsense

    Just an FYI.

    We are going to start beta trials in a week or two for our GitSense technology, which should address this issue. Below is an example of how you can use it to follow the history for the .gitignore file: .

    bitbucket-commits-path-search-1.PNG

    .

    And if you wanted to, you can have it show you the history for multiple files. Below is an example that shows you the commits that modified .gitignore, .rst and .md files:

    bitbucket-commits-path-search-2.PNG

    .

    You can learn more about GitSense at http://gitsense.bitbucket.org and if you would like to participate in the beta trial, please send an email to privatebeta@gitsense.com

    Cheers

  32. Søren Nguyen Boisen

    @gitsense How does this address the most pressing issue with Bitbucket not understanding file moves - namely ugly huge pull requests, where it is impossible to see the actual changes made to a file that has been moved? I don't need a search tool that knows about file history, I need pull requests to know about file history.

  33. Eric Dégenètais

    the point is that being unable to follow renames has consequences. Some can be worked around with third party tools (but then, I for one can use my local hg client for this), some cannot (like bloated pull requests). the best fix is making bitbucket rename / move /copy aware. What's even more frustrating is that hg in itself HAS that feature.

  34. Mario Pérez

    I work with mercurial, not git. So, will gitsense work with hg repos? Anyway, I agree with Eric: I already have tools which let me follow copies and so (in my case I use NetBeans as hg client), otherway is pretty clear I would leave bitbucket some time ago!!! But when I share a repo with other developers, I want them to be able to inspect the source directly through bitbucket web interface. And I must prevent them "warning, if some file has been renamed or moved you won't see the history"... It's a kind of shame to say that to others when you share a project. In fact, I try to avoid renames and file moves for this reason... It will stay being a shame to say "here you can track the code changes, but please install this third party addon first..." I'm also a paying customer and as you can see before, at october 2015 I opened an Issue with no luck. I'm waiting for some atlassian staff to comment here...

  35. Igor Baidiuk

    @gitsense

    1. Seems Atlassian staff doesn't know what each one of them does or says. #10589 was marked as duplicate of this issue by @Marcus Bertrand on 2015-07-29.

    2. So let it be clear. You wanna us pay for what's a native feature of your biggest competitor, GitHub?

    3. Please avoid offtopic spammy self-advertising, Atlassian.

  36. gitsense

    @Igor Baidiuk

    I'm kind of confused by your response. I kind of get the impression that you think I'm an Atlassian staff member, which I'm not. And if you took offence for me posting a possible solution to the initial issue problem (being able to easily trace the history of a renamed file), then I apologize.

  37. Igor Baidiuk

    @gitsense I'm sorry too. if I took you too harsh. It was a bit confusing for you to have the same nickname as your project and being hosted on Bitbucket subdomain. You see, the main problem is that Bitbucket dev team prioritizes issues in some random way. So people are really frustrated here. There are multiple issues which live for several years, have lots of upvotes... and absolutely no reaction from dev team.

  38. Alastair Wilkes staff

    Hi all, thank you for your feedback.

    The discussion on this issue centers around two feature requests: file history following renames, and detecting renamed/moved files in diffs.

    I'm afraid that keeping file history tracked for copied and renamed files is not currently planned.

    However, work on detecting renamed/moved files in diffs is currently in progress (for Git repos). For clarity, we've split that out into its own issue (#12536), so please watch that issue for updates on that enhancement.

    Thanks,

    Alastair Wilkes

    Bitbucket Product Manager

  39. matt_de NA

    I don't understand why this is such a hard feature to implement. Git already supports this functionality with the 'git log --follow <path>'. I just want a checkbox on the history button that allows my to see the full history. SourceTree has this exact functionality.

  40. matt_de NA

    So they can't implement a simple feature that would solve many of the peoples problems, because it doesn't solve everybody's? Like Alastair Wilkes stated there are several feature requests being covered by this issue. I just want a checkbox that would add the --follow to the log command when looking at the history of a single file.

  41. Nathan Armstrong

    Hopping in to echo this request. The lack of simple file-move tracking combined with BitBucket's limited diff display leads to deep frustration when reviewing pull requests that, say, refactor a project's structure while leaving file contents mostly intact.

  42. Oliver Nelson x207 (California)

    +1 This missing feature means we can't really use bitbucket's web interface to actually do anything....which kinda devalues what you're providing. We moved our entire source tree for a good reason and now the web interface is useless for history.

  43. Michael Bean

    Hey everyone. I am hosting bitbucket myself and have actually seen great advancements related to this. For some reason Atlassian tends to make changes but not update ticketed issues.

    I renamed a file, then copied it, then edited one or both copies. The UI was able to say "Copied" on one and I think the other said "Renamed". It was well-done from what I could tell. So what you might need is to just have your instance updated!

  44. Mario Pérez

    Yes, it's only for git repositories, at least in bitbucket cloud. I don't know if it works with mercurial in hosted bitbucket. bean5, could you confirm that you can track renamed and copied files in a mercurial repo hosted by you? or it only works with git? It would be a shame if it is solved only in the private host version..

  45. Alastair Wilkes staff

    Hi @Michael McLellan,

    We agree! This is something we'd like to do and is in our backlog. To provide a bit more background on its scope, the required implementation is a bit bigger than simply adding follow to the one command; there are several other cases around the web UI we'd need to handle (particularly the file diff) which graduate this from 'one liner' into 'project.' Again, this is something we agree is useful and should be built and is in our backlog. I'll provide a more concrete update when I have one.

    Alastair

  46. Todd Menier

    @Alastair Wilkes This issue is #2 out of 1,413 in number of votes and is marked "Major" in priority, yet it has sat unresolved for over 8 years. I hate to just add to the whining, and I'll take you're word that it's more than a one-liner, but wouldn't you say it's not that big of a project either? It seems like a rather glaring feature gap and a good bang-for-the-buck fix in terms of customer satisfaction. Can you at least assure us this is on somebody's radar and provide an approximate timeframe? Thanks.

  47. Sergey Simonyan

    Guys, terribly sorry for being non-constructive, but maybe spend less time on visual upgrades that no one really needed and more time on fixing the thing that is really screwing up workflows of your paying customers? Have you tried a code review where files were both modified and moved — and are now displayed as brand new? And if you did, did you like it?

    This issue is not really 2nd — its 1st if you consider priority. 4 months since the last update. Would really like to see an estimate as to when you’re planning to stop "looking" and start actually working.

  48. Claire Bianchi staff

    This is something we agree is useful and should be built. As stated in a previous update the required implementation is bigger than simply adding follow to the one command; there are several other cases around the web UI we'd need to handle (particularly the file diff). It is currently in our backlog but we have not yet started work on it.

    At the moment, we're busy improving Bitbucket in the following areas:

    pull requests code search pipelines & deployments design and user experience

    Please continue to follow this ticket for updates, and add comments describing any use-cases that are important to your team and not already covered above.

    Thanks, Claire

  49. Igor Baidiuk

    @Claire Bianchi This issue is 9 (!!!) years old. Previous response from @Alastair Wilkes was half a year ago, where he told this issue is #2. And yet you say you haven't even started working on it. Enough said. Just relax and take another 9 years. Enough time for even most conservative users to migrate to your competitors.

  50. Michael Bean

    I think Atlassian is aware of the age of this issue. Given that @Claire Bianchi just provided an update that is fairly fleshed out, my guess would be that someone is eyeing it and may be pushing for it to be put on the timeline. Just a guess. Perhaps a pipedream.

    @Claire Bianchi is requesting that we add comments describing use cases that are important to our teams and that are not already covered above.

    Aside: I think the majority of users that were going to migrate because of this already did...just my guess. As a company, I am sure they are aware of the financial impact of any outstanding issue that runs long.

  51. Eugene S.

    @Michael Charlton Bean Unfortunately, its not about financial impact. Its about company that went public few years ago (ie, no real owner, institutional ownership >95%, largest shareholder is at ~18%). Its easier to sell UI overhaul or trendy buzzword support to board of directors (and then to shareholders) who has a voting power to keep CEO in charge. Bugfixes and process flow improvements are boring and difficult to understand. The moment company goes public, the rest is a milking it dry.

  52. Weston Wedding

    I understand the frustration being expressed but I think we are all aware, being devs ourselves, how priorities can change and how a long-running software project can accumulate a growing list of issues that are perpetually scooted lower in priority because dev time and resources are limited.

    Instead of lashing out when you get a response, try to encourage future responses by being positive! Try to make your case by giving use-cases that will make this a higher priority, rather than "X does it so you should, too."

  53. Todd Menier

    @Claire Bianchi and @WestonWedding are you suggesting that providing use cases could help give this a boost in priority? If so, I will provide one:

    I make a change to a file. I can view its history. I move said file to a different location. I can no longer view its history.

    Is that what you're looking for in terms of use cases? Do you want us to list reasons that we would ever want to move a file? Frankly, I'm not sure that providing more details or more use cases can better illustrate the glaring feature gap here. I'm all about "being positive", and normally I agree with that, but for how long? I think it's safe to say that for many long-time paying customers, patience is running thin on this one.

    My suggestion: 9 years is long enough for this to sit in your non-committal backlog. Make a decision. Either commit to fixing it and give us an ETA, or close it as "won't fix".

  54. Mario Pérez

    +1, please give us an ETA or close it as won't fix, but you can't stay there, recognizing that it should be solved but asking us for more use cases.. It's really a shame. If you give us an ETA, then we, as paying customers, can decide if stay waiting here or better migrate our repos to other place. Because look at this, see my comment on 2015-11-09, I still here more than two years later hoping this will be fixed..

  55. Anton Matosov

    IMO, they not gonna fix it, and this entire bug tracker is just a hangout place for frustrated and/or pissed customers. As per me switching to github.com is no brainer, they respond to issues quickly and keep improving their product based on user feedback, not only on their private backlog, as it seems to be the case with bitbucket. From my experience Atlassian have never addressed a single user input from public bug tracker (sigh)

  56. Weston Wedding

    A useful use case would be one that describes how this issue has anything other than a minor impact on your job.

    The more we spam this issue the more people unsub (like I'm doing now), the less watchers the issue gets, the less Bitbucket team cares.

  57. Jason Steele

    This issue serves as a a strong dis-incentive to refactor and reorganize legacy source code stored in Bitbucket. That's not a minor impact over time for software maintenance activity.

    Does it make Bitbucket unusable? No.

    Does it make it very easy to recommend to clients that they use Github or pretty much any other solution that offers better support and responsiveness? Yes.

  58. Nathan Jackson

    We would like renames to work correctly so that pull requests don't show a renamed file as a delete and a new file. Minor edits to those files are then very difficult to find.

  59. Log in to comment