Hi Tomek, I understand exactly what you are saying and I will make sure I do that for any of my future projects.
In the situation I was in, I had planned to make the git repository once my project was completed and in order but before I got the chance to do that, my files were taken from me by the company I was working for at the time by telling me they will be reviewed then you can take it back but that never happened. So here I am asking if Nuttx takes snapshots or has a backup/recovery system that can trace my project files. Let me know what you think about this. Thanks & Regards Siddhartha Sharma On Mon, 22 Sept 2025, 23:53 Tomek CEDRO, <[email protected]> wrote: > Well, I can surely tell everyone was there were the work is lost for > any reason, thus some good practices may help avoid similar situations > in future: > > 1. After every day of work push changes to git, even unfinished work > in progress. Start from day one. You can use wip branches, you can > squash wip commits into a final commit to be merged into master when > things are ready. You can use several different remotes if the work is > important. > > 2. Always make a backup, daily, weekly, monthly. Make big backups > every month or quartetly. In worst case you only loose 1..3 months of > work. Assume tomorrow your computer will blow, gets stolen, or there > will be a zombie apocalypse. > > 3. Always verify backups manually if all you need is really there. > Sometimes symlinks or other weird stuff can get there in place of real > files. Having a backup file, comparing backup file checksum, etc, does > not always mean things you care most are in the backup. > > 4. Use tar, rsync, zfs snapshot for backup, whatever works best. You > can create a cron script that will do this for you. > > 5. If you plan to export backup from your local machine to a remote > location encrypt it before transfer. Things may get stolen. > > 6. Keep copies in several different locations. Do not keep all backups > on your main working machine. Computers tend to break, so are hard > drives / pendrives. > > 7. Read only backups like cd/dvd/bd are cheap, small, not prone to > ransomware encryption / emp / etc. BluRay disk contains 20..50..100GB > storage capacity and is not expensive (including burners) so a really > good option for big bakcups. You can also use several rewritable > mediums in cycles, and multisession approach, etc. > > The mentioned before make build output files and maybe cmake build > folder is the only thing that comes to my mind. In addition to that > you may create a builder script that will direct each cmake build to > be created in a separate directory with a timestamp suffix so you will > have a long history of builds along the source code just in case (I > use that in some projects). > > If you kept all files locally, did not create a backup nor snapshot > not remote git repo on your own, and your hard drive is broken, then > there is no magic, except disk recovery services, or asking the other > side if they have a backup, sorry. > > Take care, > Tomek > > > > > On Mon, Sep 22, 2025 at 5:26 PM Siddhartha Sharma <[email protected]> > wrote: > > > > > > Hi Tomek, > > > > Thanks for your reply and information provided. > > > > Well, I would say I didn't take the backup as I wasn't even expecting my > company would never return my files in the first place. After my project, I > was already planning to transfer all locally commited files to a git > repository but just didn't get the chance to do so. > > > > After that my SSD got corrupted as well and I tried to get the data > recovery but I think I need yo find a better data recovery solutions > company to do this. Apart from that, no other way to get it back so I am > contacting you as my last resort. > > > > I understand that it may seem like a felony but certain situations may > demand for such incidents so if possible to take the backup and snapshots, > please let me know. > > > > Awaiting your response! > > > > Thanks & Regards > > Siddhartha Sharma > > Show quoted text > > > > > > On Mon, 22 Sept 2025, 19:09 Tomek CEDRO, <[email protected]> wrote: > >> > >> Hey there Siddhartha, > >> > >> I am sorry to say but if you did not, during all these months, have > >> your own git repo where you pushed your work in progress code, or you > >> did not do any backup / filesystem snapshot on your own, and you did > >> not copy the working files but moved them, then there is no way to get > >> them except ask for copy from where you sent them. > >> > >> If you did not `make clean` the project since then there still may be > >> build output files, maybe along debug symbols depending how you > >> configured the build, that would be tedious work but may help in > >> restoring your work. But these are located next to source files so > >> probably you moved them away too. > >> > >> If you used CMake (not Make) then all build files should be copied to > >> build location. Check if that exists. > >> > >> NuttX does not share local user source code anywhere on its own. That > >> would constitute information (and most probably company secrets) leak, > >> that would not only break trust in NuttX but also constitute a felony, > >> so we don't do anything like this behind user back. > >> > >> "Always Make A Backup"^TM. Even three four backups in different places > >> so things are not gone if one of the backups locations fail. You > >> should have additional backup even in case disk you gave away was > >> broken in transport. Are you sure you have no backup? > >> > >> Have a good day :-) > >> Tomek > >> > >> On Mon, Sep 22, 2025 at 1:00 PM Siddhartha Sharma <[email protected]> > wrote: > >> > > >> > Dear David, > >> > > >> > I hope you are doing well. I am reaching out with an urgent question > >> > regarding the NuttX build environment and whether there might be any > >> > possibility of recovering project files that were connected and built > >> > through it. > >> > > >> > Here is my situation: > >> > > >> > I was working on a complex project with NuttX integrated into > Dronecode/PX4. > >> > > >> > Due to limited local storage on my SSD, I mounted and connected to the > >> > NuttX environment in order to build and test. My understanding was > that > >> > this process allowed files to be shared in real-time with the NuttX > system, > >> > even when they were not fully stored locally. > >> > > >> > Unfortunately, my company asked me to cut-paste my project files to an > >> > external hard drive for review, but they have not been returned to > me. Some > >> > of my work was committed to my PX4 and QGC forks, but critical > portions > >> > were only in the working tree that was being built with NuttX. > >> > > >> > This project represents months of work and is highly complicated — > >> > rebuilding it from scratch is not feasible for me. > >> > > >> > Given this, I wanted to ask: > >> > > >> > When using NuttX in a build environment (PX4/Dronecode CI or > otherwise), > >> > does NuttX or the connected system maintain any temporary file caches, > >> > build snapshots, or traces of user project files? > >> > > >> > If so, is there any way to request access to those caches or logs to > >> > attempt recovery? > >> > > >> > More generally, does the NuttX environment ever retain build files > from a > >> > developer’s machine, or is everything strictly local unless explicitly > >> > pushed to a remote repository? > >> > > >> > I realize this is an unusual request, but I am exploring every > possible > >> > avenue before concluding that my uncommitted work is permanently > lost. Your > >> > guidance on whether NuttX or its connected build infrastructure could > hold > >> > any recoverable traces would mean a great deal. > >> > > >> > Thank you very much for your time and for the incredible work you do > with > >> > NuttX. > >> > > >> > Sincerely, > >> > Siddhartha Sharma > >> > >> > >> > >> -- > >> CeDeROM, SQ7MHZ, http://www.tomek.cedro.info > > > > -- > CeDeROM, SQ7MHZ, http://www.tomek.cedro.info >
