1. Bitbucket Website
  2. Public Issue Tracker
  3. master

Issues

Issue #589 open

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

pdc
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.

Comments (174)

  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. muv

    +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. Eli Bishop

    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 P

    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. bean5

    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. bean5

    Luke Meyers I might agree. But it doesn't matter what I think. I'm just making assumptions as to what Atlassian is thinking...it is just about all we can do since they remain fairly silent on this issue.

  24. 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.

  25. 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..

  26. bean5

    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.

  27. 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).

  28. 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.

  29. 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 :(

  30. 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.

  31. 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.

  32. 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

  33. 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.

  34. 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.

  35. 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...

  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

    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

    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

    +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. bean5

    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. Log in to comment