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
>

Reply via email to